出版時(shí)間:2008-12 出版社:清華大學(xué)出版社有限公司 作者:楊曉光 頁(yè)數(shù):333
Tag標(biāo)簽:無(wú)
前言
數(shù)據(jù)結(jié)構(gòu)是計(jì)算機(jī)專業(yè)和電子信息專業(yè)的重要專業(yè)基礎(chǔ)課程之一。在計(jì)算機(jī)課程體系中起到承上啟下的作用,它是操作系統(tǒng)、軟件工程、數(shù)據(jù)庫(kù)、編譯原理、計(jì)算機(jī)圖形學(xué)等課程的基礎(chǔ)。近年來(lái),隨著計(jì)算機(jī)應(yīng)用領(lǐng)域的不斷拓展,許多非計(jì)算機(jī)專業(yè)也把數(shù)據(jù)結(jié)構(gòu)作為重要的選修課程之一,以期加強(qiáng)學(xué)生程序設(shè)計(jì)能力?! ∽髡咴诙嗄甑臄?shù)據(jù)結(jié)構(gòu)課程教學(xué)實(shí)踐中發(fā)現(xiàn),初學(xué)者普遍感覺(jué)數(shù)據(jù)結(jié)構(gòu)抽象難懂,對(duì)于數(shù)據(jù)結(jié)構(gòu)應(yīng)用于何處、如何應(yīng)用也比較迷茫。作者也一直在思考這個(gè)問(wèn)題,經(jīng)過(guò)深入分析以后,感到造成這一現(xiàn)象的原因是,現(xiàn)在的教科書多以抽象理論講解為主,不考慮應(yīng)用,與實(shí)際應(yīng)用脫節(jié)。在本書編寫過(guò)程中,嘗試引用一些實(shí)用案例,這些案例都是我們身邊發(fā)生的事情,既生動(dòng)有趣,又能詮釋數(shù)據(jù)結(jié)構(gòu)理論,從而變抽象為具體?! 〕酥?,本書還具有以下特色?! ?1)在講解每種新類型時(shí),由一個(gè)貼近生活實(shí)際的小例子引入,如以?shī)W運(yùn)會(huì)門票預(yù)訂為例引入隊(duì)列,先給學(xué)生一個(gè)感性認(rèn)識(shí),然后再過(guò)渡到抽象的理論,使學(xué)生易于理解、易于接受?! ?2)在講解各種數(shù)據(jù)結(jié)構(gòu)與算法的同時(shí),給出大量例題。通過(guò)例題進(jìn)一步闡述數(shù)據(jù)結(jié)構(gòu)理論,同時(shí)引導(dǎo)學(xué)生靈活運(yùn)用理論解決問(wèn)題,從而達(dá)到舉一反三的目的?! ?3)在每一章的最后部分提供一個(gè)綜合實(shí)例,從實(shí)用角度詮釋如何用數(shù)據(jù)結(jié)構(gòu)解決現(xiàn)實(shí)生活中存在的問(wèn)題,如用查找和排序生成“十大流行歌手排行榜”。這樣會(huì)給學(xué)生以學(xué)以致用的感受,激發(fā)他們的學(xué)習(xí)興趣?! ?4)在每章的最后提供了大量精選習(xí)題。通過(guò)這些習(xí)題的訓(xùn)練,可使學(xué)生鞏固所學(xué)知識(shí),進(jìn)而靈活運(yùn)用所學(xué)知識(shí)?! ?5)每章還提供一至兩個(gè)實(shí)驗(yàn),便于學(xué)生上機(jī)練習(xí)。 (6)附錄A給出一個(gè)綜合測(cè)試,用于檢驗(yàn)學(xué)習(xí)效果?! ?7)書中所有算法都由C語(yǔ)言實(shí)現(xiàn)(均在Visual C++6.O下調(diào)試通過(guò)),并有詳盡的注釋,有些還給出測(cè)試程序,供學(xué)生驗(yàn)證和模仿,以加深學(xué)生對(duì)算法的理解?! ∪珪卜志耪隆5?章介紹數(shù)據(jù)結(jié)構(gòu)、抽象數(shù)據(jù)類型與算法的一些基本概念;第2章介紹線性表的邏輯結(jié)構(gòu)和兩種存儲(chǔ)結(jié)構(gòu)(順序表和鏈表),以及基本操作的實(shí)現(xiàn);第3章介紹棧和隊(duì)列,討論棧和隊(duì)列特點(diǎn),相應(yīng)的存儲(chǔ)結(jié)構(gòu)及基本操作的實(shí)現(xiàn),給出棧和隊(duì)列的一些應(yīng)用實(shí)例;第4章介紹串的基本概念、模式匹配算法,討論串的各種存儲(chǔ)結(jié)構(gòu),以及基本操作的實(shí)現(xiàn);第5章介紹數(shù)組和廣義表的基本概念,討論數(shù)組和廣義表的存儲(chǔ)結(jié)構(gòu),以及特殊矩陣、稀疏矩陣和廣義表的基本運(yùn)算;第6章介紹樹與二叉樹,包括樹與二叉樹的定義與表示,討論樹與二叉樹的存儲(chǔ)結(jié)構(gòu),以及樹與二叉樹的遍歷和相互轉(zhuǎn)換;第7章介紹圖,包括圖的基本概念,討論圖的存儲(chǔ)結(jié)構(gòu),以及圖的一些應(yīng)用;第8章介紹各種常見(jiàn)的查找算法及實(shí)現(xiàn);第9章介紹各種常見(jiàn)的內(nèi)部排序算法及實(shí)現(xiàn);附錄A為綜合測(cè)試。
內(nèi)容概要
本書系統(tǒng)介紹了數(shù)據(jù)結(jié)構(gòu)相關(guān)理論和基本算法。主要內(nèi)容包括線性表、棧、隊(duì)列、串、數(shù)組、廣義表、樹、二叉樹、圖、查找和排序。 本書從實(shí)用角度出發(fā),安排了大量貼近生活的示例,特別是每章都給出一個(gè)解決身邊問(wèn)題的綜合實(shí)例。為了幫助讀者更好地理解數(shù)據(jù)結(jié)構(gòu),全書還提供了121道例題,430道習(xí)題,7個(gè)綜合實(shí)例,13個(gè)實(shí)驗(yàn),1個(gè)綜合測(cè)試。 本書可作為大專院校計(jì)算機(jī)專業(yè)和電子信息專業(yè)的本、專科學(xué)生的教材和參考書,亦適合于工程技術(shù)人員參考。
書籍目錄
第1章 數(shù)據(jù)結(jié)構(gòu)概述 1.1 數(shù)據(jù)結(jié)構(gòu)研究的內(nèi)容 1.2 基本概念和術(shù)語(yǔ) 1.3 抽象數(shù)據(jù)類型 1.4 算法分析 1.4.1 算法及性質(zhì) 1.4.2 算法度量及分析 1.5 習(xí)題 1.6 實(shí)驗(yàn)第2章 線性表 2.1 線性表的定義及其操作 2.1.1 線性表的定義 2.1.2 線性表的抽象數(shù)據(jù)類型 2.2 順序表 2.2.1 順序表的定義 2.2.2 順序表的基本操作 2.3 鏈表 2.3.1 單鏈表 2.3.2 循環(huán)鏈表 2.3.3 雙向鏈表 2.3.4 靜態(tài)鏈表 2.4 順序表與鏈表的比較 2.5 綜合實(shí)例——文具店的貨品管理 2.6 習(xí)題 2.7 實(shí)驗(yàn)第3章 棧和隊(duì)列 3.1 棧的定義及其操作 3.1.1 棧的定義 3.1.2 棧的抽象數(shù)據(jù)類型 3.2 順序棧 3.2.1 順序棧的定義 3.2.2 順序棧的基本操作 3.3 鏈棧 3.3.1 鏈棧的定義 3.3.2 鏈棧的基本操作 3.4 隊(duì)列的定義及其操作 3.4.1 隊(duì)列的定義 3.4.2 隊(duì)列的抽象數(shù)據(jù)類型 3.5 順序隊(duì)列 3.5.1 順序隊(duì)列的定義 3.5.2 順序隊(duì)列的基本操作 3.6 鏈隊(duì)列 3.6.1 鏈隊(duì)列的定義 3.6.2 鏈隊(duì)列的基本操作 3.7 棧與隊(duì)列的應(yīng)用 3.7.1 數(shù)制轉(zhuǎn)換 3.7.2 表達(dá)式計(jì)算 3.7.3 輸入輸出緩沖區(qū) 3.8 綜合實(shí)例——停車場(chǎng)管理 3.9 習(xí)題 3.10 實(shí)驗(yàn)第4章 串 4.1 串的基本概念及其操作 4.1.1 串的基本概念 4.1.2 串的抽象數(shù)據(jù)類型 4.2 串的順序存儲(chǔ)結(jié)構(gòu) 4.2.1 串的定長(zhǎng)順序存儲(chǔ)表示 4.2.2 串的堆存儲(chǔ)表示 4.3 串的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu) 4.4 串的模式匹配 4.4.1 Brute—Force算法 4.4.2 KMP算法 4.5 綜合實(shí)例——簡(jiǎn)易文本編輯軟件 4.6 習(xí)題 4.7 實(shí)驗(yàn)第5章 數(shù)組和廣義表 5.1 數(shù)組的基本概念及其操作 5.1.1 數(shù)組的基本概念 5.1.2 數(shù)組的抽象數(shù)據(jù)類型 5.2 數(shù)組的順序存儲(chǔ) 5.3 特殊矩陣及其壓縮存儲(chǔ) 5.3.1 對(duì)稱矩陣與三角矩陣 5.3.2 對(duì)角矩陣 5.4 稀疏矩陣 5.4.1 三元組順序表表示 5.4.2 十字鏈表表示 5.5 廣義表 5.5.1 廣義表的基本概念 5.5.2 廣義表的抽象數(shù)據(jù)類型 5.5.3 廣義表的存儲(chǔ)結(jié)構(gòu) 5.6 綜合實(shí)例——n階魔方 5.7 習(xí)題 5.8 實(shí)驗(yàn)第6章 樹和二叉樹 6.1 樹 6.1.1 樹的定義 6.1.2 樹的表示方法 6.1.3 樹的抽象數(shù)據(jù)類型 6.1.4樹的存儲(chǔ)結(jié)構(gòu) 6.2 二叉樹 6.2.1 二叉樹的定義 6.2.2 二叉樹的性質(zhì) 6.2.3 二叉樹的存儲(chǔ)結(jié)構(gòu) 6.2.4 二叉樹的遍歷 6.3 線索二叉樹 6.3.1 線索二叉樹的定義 6.3.2 線索二叉樹的操作 6.4 森林 6.4.1 樹、森林與二叉樹的轉(zhuǎn)換 6.4.2 樹和森林的遍歷 6.5 哈夫曼樹及其應(yīng)用 6.5.1 哈夫曼樹 6.5.2 哈夫曼編碼 6.6 綜合實(shí)例——高校社團(tuán)管理 6.7 習(xí)題 6.8 實(shí)驗(yàn)第7章 圖 7.1 圖的基本概念 7.1.1 圖的定義 7.1.2 圖的抽象數(shù)據(jù)類型 7.2 圖的存儲(chǔ)結(jié)構(gòu) 7.2.1 鄰接矩陣 7.2.2 鄰接表 7.2.3 十字鏈表 7.2.4 鄰接多重表 7.3 圖的遍歷 7.3.1 深度優(yōu)先搜索 7.3.2 廣度優(yōu)先搜索 7.4 最小生成樹 7.4.1 普里姆算法 7.4.2 克魯斯卡爾算法 7.5 最短路徑 7.5.1 從某個(gè)頂點(diǎn)到其余頂點(diǎn)的最短路徑 7.5.2 每對(duì)頂點(diǎn)之間的最短路徑 7.6 拓?fù)渑判蚝完P(guān)鍵路徑 7.6.1 拓?fù)渑判? 7.6.2 關(guān)鍵路徑 7.7 綜合實(shí)例——故宮導(dǎo)游咨詢 7.8 習(xí)題 7.9 實(shí)驗(yàn)第8章 查找 8.1 查找的基本概念 8.2 順序查找 8.3 折半查找 8.4 分塊查找 8.5 二叉排序樹 8.5.1 二叉排序樹的定義 8.5.2 二叉排序樹的基本操作 8.6 B-樹 8.6.1 B-樹的定義 8.6.2 B-樹的基本操作 8.7 哈希表 8.7.1 哈希表的定義 8.7.2 哈希函數(shù)的構(gòu)造方法 8.7.3 處理沖突的方法 8.7.4 哈希表的基本操作 8.8 綜合實(shí)例——十大流行歌手排行榜 8.9 習(xí)題 8.10 實(shí)驗(yàn)第9章 排序 9.1 排序的基本概念 9.2 插入排序 9.2.1 直接插入排序 9.2.2 折半插入排序 9.2.3 希爾排序 9.3 交換排序 9.3.1 冒泡排序 9.3.2 快速排序 9.4 選擇排序 9.4.1 直接選擇排序 9.4.2 堆排序 9.5 歸并排序 9.6 基數(shù)排序 9.7 各種排序方法的比較 9.8 習(xí)題 9.9 實(shí)驗(yàn)附錄A 綜合測(cè)試附錄B 部分習(xí)題答案參考文獻(xiàn)
章節(jié)摘錄
第1章 數(shù)據(jù)結(jié)構(gòu)概述 隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,以及計(jì)算機(jī)的日益普及,計(jì)算機(jī)應(yīng)用的范圍越來(lái)越廣泛,從最初的數(shù)值計(jì)算,發(fā)展到現(xiàn)在的數(shù)據(jù)處理、自動(dòng)控制、信息處理、人工智能、情報(bào)檢索和辦公自動(dòng)化等非數(shù)值計(jì)算領(lǐng)域。
編輯推薦
本書共分九章。第1章介紹數(shù)據(jù)結(jié)構(gòu)、抽象數(shù)據(jù)類型與算法的一些基本概念;第2章介紹線性表的邏輯結(jié)構(gòu)和兩種存儲(chǔ)結(jié)構(gòu)(順序表和鏈表),以及基本操作的實(shí)現(xiàn);第3章介紹棧和隊(duì)列,討論棧和隊(duì)列特點(diǎn),相應(yīng)的存儲(chǔ)結(jié)構(gòu)及基本操作的實(shí)現(xiàn),給出棧和隊(duì)列的一些應(yīng)用實(shí)例;第4章介紹串的基本概念、模式匹配算法,討論串的各種存儲(chǔ)結(jié)構(gòu),以及基本操作的實(shí)現(xiàn);第5章介紹數(shù)組和廣義表的基本概念,討論數(shù)組和廣義表的存儲(chǔ)結(jié)構(gòu),以及特殊矩陣、稀疏矩陣和廣義表的基本運(yùn)算;第6章介紹樹與二叉樹,包括樹與二叉樹的定義與表示,討論樹與二叉樹的存儲(chǔ)結(jié)構(gòu),以及樹與二叉樹的遍歷和相互轉(zhuǎn)換;第7章介紹圖,包括圖的基本概念,討論圖的存儲(chǔ)結(jié)構(gòu),以及圖的一些應(yīng)用;第8章介紹各種常見(jiàn)的查找算法及實(shí)現(xiàn);第9章介紹各種常見(jiàn)的內(nèi)部排序算法及實(shí)現(xiàn);附錄A為綜合測(cè)試;附錄B為部分習(xí)題參考答案。為了便于學(xué)生學(xué)習(xí)與理解數(shù)據(jù)結(jié)構(gòu),書中給出121道例題,430道習(xí)題,7個(gè)綜合實(shí)例,13個(gè)實(shí)驗(yàn),1個(gè)綜合測(cè)試。
圖書封面
圖書標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載
數(shù)據(jù)結(jié)構(gòu)實(shí)例教程 PDF格式下載