數據結構與算法(國家級雙語教學示範課程配套教材)

彭軍 向毅 主編

立即出貨 (庫存 < 4)

買這商品的人也買了...

商品描述

  本書是國家級雙語教學示範課程《數據結構》的配套教材,根據教育部高等學校電腦科學與技術教學指導委員會制定的《高等學校電腦科學與技術專業發展戰略研究報告暨專業規範》編寫。全書每章均以數據的邏輯結構、存儲結構和相應的算法實現為主線,並對算法的運算效率進行分析。全書分為8章,涵蓋了各種常見數據結構。第 1章主要介紹數據結構和算法分析的基本概念,第 2~6章主要介紹典型的線性結構、樹型結構和圖型結構,第7~8章分別介紹查找和排序操作。

  另外,每章後面附有習題和上機實驗內容,上機實驗提供了完整的、可運行的程序上機實驗供讀者參考,以加深讀者對所學知識的理解和應用。

  本書既可作為高等院校電腦及相關專業數據結構課程的教學用書,也可作為從事電腦工程與應用的廣大讀者的參考書。

目錄大綱

《數據結構與算法(國家級雙語教學示範課程配套教材)》 
第1章緒論1 
1.1數據及其邏輯結構1 
1.1.1基本概念1 
1.1.2邏輯結構2 
1.2數據結構2 
1.2.1什麼是數據結構2 
1.2.2數據結構的二元組描述3 
1.2.3數據結構和數據類型4 
1.3存儲實現與運算實現4 
1.3.1順序存儲結構4 
1.3.2鍊式存儲結構5 
1.3.3索引存儲結構6 
1.3.4散列存儲結構6 
1.3.5運算實現7 
1.3.6進一步討論8 
1.4算法描述和算法分析8 
1.4.1什麼是算法8 
1.4.2算法描述9 
1.4.3算法分析11 
1.5網絡教輔資源14 
1.6小結14 
練習一15 
第2章線性表19 
2.1線性表的基本概念19 
2.2線性表的順序表示和實現21 
2.3線性表的鏈接表示和實現26 
2.3.1線性表的鏈式存儲原理27 
2.3.2線性表的鍊式存儲算法實現27 
2.3.3算法效率分析32 
2.4循環鍊錶和雙鍊錶32 
2.4.1循環鍊錶32 
2.4.2雙向鍊錶33 
2.5線性表的應用舉例35 
2.5 .1問題的提出35 
2.5.2分析問題36 
2.5.3算法實現36 
2.5.4程序39 
2.6小結44 
練習二45 
第3章棧和隊列54 
3.1棧54 
3.1.1棧的定義54 
3.1.2棧的基本運算54 
3.1.3棧的順序存儲結構55 
3.1.4棧的鍊式存儲結構58 
3.1.5棧的應用60 
3.2隊列63 
3.2.1隊列的定義63 
3.2.2隊列的基本運算63 
3.2.3隊列的順序存儲結構64 
3.2.4隊列的鍊式存儲結構68 
3.2.5隊列的應用72 
3.3小結74 
練習三75 
第4章串和數組79 
4.1串的基本概念79 
4.2串的基本操作和串的存儲結構80 
4.2.1串的基本操作80 
4.2.2串的靜態順序存儲結構81 
4.2.3串的動態順序存儲結構87 
4.2.4串的鍊式存儲結構91 
4.3數組的定義和運算92 
4.4數組的順序存儲結構92 
4.5特殊矩陣的壓縮存儲94 
4.5.1特殊矩陣95 
4.5.2稀疏矩陣96 
4.6小結103 
練習四104 
第5章樹和二叉樹110 
5.1樹的概念與定義110 
5.1.1樹的定義110 
5.1.2樹的基本操作111 
5.2二叉樹的性質和存儲結構111 
5.2.1二叉樹的定義與基本操作111 
5.2.2二叉樹的性質112 
5.2.3二叉樹的存儲結構114 
5.3二叉樹的遍歷與線索化116 
5.3.1二叉樹的遍歷116 
5.3.2二叉樹的非遞歸遍歷119 
5.3.3樹的唯一性問題120 
5.3.4二叉樹遍歷的應用121 
5.3 .5線索二叉樹124 
5.4樹、森林和二叉樹的關係126 
5.4.1樹的存儲結構127 
5.4.2樹、森林與二叉樹的相互轉換129 
5.4.3樹與森林的遍歷132 
5.5哈夫曼樹及其應用133 
5.5.1哈夫曼樹的定義133 
5.5.2哈夫曼樹的構造134 
5.5.3哈夫曼編碼135 
5.6小結137 
練習五139 
第6章圖146 
6.1圖的定義及理論146 
6.2圖的存儲結構及算法實現149 
6.2.1圖的基本運算的抽象149 
6.2.2數組表示法150 
6.2.3鄰接表表示154 
6.2.4十字鍊錶表示160 
6.3圖的算法實現162 
6.3.1圖的遍歷算法162 
6.3.2圖的連通性166 
6.4圖的應用167 
6.4.1圖的最小生成樹167 
6.4.2最短路徑171 
6.4.3任意頂點最短路徑175 
6.5小結176 
練習六177 
第7章查找表183 
7.1查找表的基本概念183 
7.2靜態查找表184 
7.2.1順序查找184 
7.2.2折半查找187 
7.2.3分塊查找190 
7.3動態查找表192 
7.3.1二叉排序樹192 
7.3.2平衡二叉樹199 
7.4哈希表200 
7.4.1哈希表的基本概念201 
7.4.2哈希函數的構造方法202 
7.4.3處理哈希衝突的方法206 
7.5小結209 
練習七210 
第8章內部排序217 
8.1排序的基本概念217 
8.1.1排序217 
8.1.2內部排序和外部排序218 
8.1.3排序算法評價218 
8.1.4排序算法的穩定性218 
8.1.5待排序記錄序列的存儲結構218 
8.2直接插入排序和希爾排序218 
8.2.1直接插入排序219 
8.2.2折半查找插入排序222 
8.2.3希爾排序223 
8.3選擇排序和堆排序225 
8.3. 1選擇排序226 
8.3.2堆排序227 
8.4冒泡排序和快速排序229 
8.4.1冒泡排序229 
8.4.2快速排序231 
8.5歸併排序235 
8.6基數排序236 
8.6.1基本思想236 
8.6.2基數排序過程與算法237 
8.7各種內部排序方法的比較討論241 
8.8外部排序243 
8.8.1外部存儲系統243 
8.8.2外部排序面臨的問題246 
8.8.3外部排序的基本過程246 
8.9小結247 
練習八248