本書是21世紀高職高專規(guī)劃教材·計算機系列中的一本。全書共分九章,采用C語言描述,系統(tǒng)地介紹了各種類型的數據結構和查找、排序的方法,主要內容包括數據結構概論、線性表、棧和隊列、數組與矩陣、樹、圖、排序、查找以及文件等。每一章都精心設計了習題,并在附錄中安排了實訓內容,做到了學用結合,使讀者能夠迅速掌握相應知識。為了方便教學,本書配有PPT格式電子教案,免費為任課教師提供。本書本著理論必需、夠用的原則,突出實用性、操作性,加強理論聯(lián)系實際,語言上通俗易懂,做到了好教易學,以滿足目前教學的實際需要。"數據結構"是高等院校計算機及相關專業(yè)的一門重要的專業(yè)基礎課。在計算機技術學科的各個領域都要用到各種數據結構。"數據結構"的教學重點是培養(yǎng)學生分析數據和組織數據的能力,并能在實際應用中運用所學知識,編制出正確且有效的程序。本書共分為9個章節(jié)、2個附錄。第1章介紹了數據結構和算法的基本概念,并對算法的分析做了說明;第2~6章分別介紹了線性表、棧、隊列、數組、樹和圖等基本數據結構,討論了各種結構的邏輯特征、存儲方式和基本運算,同時也通過一些實例,講述了這些結構的應用;第7、8章介紹了幾種常用的內排序方法和檢索方法,給出了相應的算法并對算法做了簡單分析。第9章介紹了文件的基本概念,并根據外存上數據的不同組織方式介紹了幾種常見的文件結構。附錄A提供了上機實驗內容;附錄B提供了課程設計內容和指導。各章中的算法均用C語言描述,書中所有程序都上機運行通過。根據高職高專的特點,本書在文字描述上力求通俗易懂;在算法描述上力求結構清晰。為了幫助理解課程內容,在部分章節(jié)中還安排了一些實例,編寫了相應的算法,可以直接上機運行。在每章的最后都有小結,并安排了適量的習題。本書為高職高專計算機及相關專業(yè)的專業(yè)教材,建議講授課時為60學時,上機實驗課時為20學時。各校可根據自己的實際情況增刪課時。由于數據結構是一門理論與實踐相結合的課程,因此要求學生在完成理論學習的同時,適當地進行上機實驗,切實提高用計算機解決實際問題的能力。本書的大綱在廣泛聽取教學第一線的教師的要求和意見的基礎上,由胡文紅執(zhí)筆。第1-4章由譚家興執(zhí)筆,第5章和附錄B由胡文紅執(zhí)筆,第6章由王紅霞、陸賽群執(zhí)筆,第7~9章節(jié)和附錄A由鄭婉華執(zhí)筆。全書由胡文紅修改并統(tǒng)稿,岳國英教授擔任主審。由于作者水平有限且時間倉促,本書中一定還存在不少問題,敬請廣大讀者批評指正。感謝中國電力出版社對本書的出版給予的支持和鼓勵,感謝有關高校給予作者的大力支持。作者2004年11月 第1章 數據結構概論 1 1.1 數據結構的基本概念 1 1.2 算法及算法評價 4 小結 7 習題 7 第2章 線性表 9 2.1 線性表的概念 9 2.2 線性表的順序實現 102.3 線性表的鏈接實現 152.4 順序表和鏈表的比較 27小結 28習題 29第3章 棧和隊列 303.1 棧 303.2 隊列 363.3 棧和隊列的應用 47小結 50習題 50第4章 數組與矩陣 514.1 數組的邏輯結構 514.2 數組的存儲結構 524.3 矩陣的壓縮存儲 54小結 60習題 60第5章 樹 615.1 樹的基本概念 615.2 樹的存儲結構 635.3 二叉樹 665.4 樹、森林和二叉樹的關系 815.5 樹的應用 83小結 88習題 88第6章 圖 906.1 圖的基本概念 906.2 圖的存儲 936.3 圖的遍歷 986.4 最小生成樹 1026.5 最短路徑 1056.6 拓撲排序 1106.7 關鍵路徑 113小結 115習題 116第7章 排序 1187.1 排序的基本概念 1187.2 插入排序 1197.3 交換排序 1237.4 選擇排序 1287.5 歸并排序 1337.6 幾種內排序方法的比較 136小結 137習題 137第8章 查找 1388.1 查找的基本概念 1388.2 線性表的查找 1398.3 樹表的查找 1448.4 散列表的查找 150小結 156習題 157第9章 文件 1589.1 文件的基本概念 1589.2 順序文件 1609.3 索引文件 1609.4 散列文件 163小結 164習題 165附錄A 實驗 166實驗一 建立鏈表(鏈表的操作) 166實驗二 線性表的應用 166實驗三 棧、隊列及其應用 167實驗四 二叉樹及應用 167實驗五 圖的操作及應用 167實驗六 排序 168實驗七 查找 168附錄B 課程設計內容與指導 169參考文獻 172