數(shù)據(jù)結構算法

出版時間:2005-5-1  出版社:第1版 (2005年5月1日)  作者:侯識忠  頁數(shù):362  字數(shù):528000  

內(nèi)容概要

本書收集了當前國內(nèi)幾本比較流行的數(shù)據(jù)結構算法書中的算法,在C++ Builder 6.0平臺上將其編寫成可以直接運行的程序。對有些算法,還給出了多種程序設計方案實現(xiàn),以迅速提高程序員的算法與程序設計能力。   本書遵循數(shù)據(jù)結構算法書中的體系,將全書分為九章,分別是:順序存儲結構的表、堆棧和隊列;鏈式存儲結構的表、堆棧和隊列;數(shù)組、串和廣義表;弟歸;樹和二叉樹;圖;排序;查找;文件。本書配有光盤,內(nèi)含 程序源代碼以及可執(zhí)行文件。   本書適合想要通過編程實例學習數(shù)據(jù)結構的C++程序員,也可以作為高校師生中學習計算機編程與數(shù)據(jù)結構的人員的參考書,尤其適合報考計算機軟件專業(yè)研究生的人員與參加信息奧賽班學習的人員參考。

書籍目錄

前言第1章 順序存儲結構的表、堆棧和隊列  1.1 線性表的數(shù)組表示和實現(xiàn)    1.1.1 程序構思    1.1.2 線性表的類定義linelistl_h    1.1.3 線性表的實現(xiàn)linelistl.cpp    1.1.4 線性表的測試1inelistlm.cpp    1.1.5 linelistlm.cpp運行結果    1.1.6 分析  1.2 線性表的動態(tài)分配順序表示和實現(xiàn)    1.2.1 程序構思    1.2.2 線性表的類定義linelist2.h    1.2.3 線性表的實現(xiàn)linelist2.cpp    1.2.4 線性表的測試linelist2m.cpp    1.2.5 linelist2m.cpp運行結果    1.2.6 分析  1.3 順序堆棧的類定義(動態(tài)分配)和實現(xiàn)    1.3.1 程序構思    1.3.2 順序棧的類定義stackl.h    1.3.3 順序棧的實現(xiàn)stackl.cpp    1.3.4 順序棧的測試stacklM.cpp    1.3.5 stacklM.cpp運行結果  1.4 順序堆棧的類定義(動態(tài)分配)和實現(xiàn)    1.4.1 程序構思    1.4.2 順序棧的類定義stack.h    1.4.3 順序棧的實現(xiàn)stack.cpp    1.4.4 順序棧的測試stackmain.cpp    1.4.5 stackmain.cpp運行結果  1.5 順序堆棧的類定義(數(shù)組表示)和實現(xiàn)    1.5.1 程序構思    1.5.2 順序堆棧的類定義linearStackl.h    1.5.3 順序堆棧的實現(xiàn)linearStackl.cpp    1.5.4 順序堆棧的測試linearStacklm.cpp    1.5.5 linearStacklm.cpp運行結果    1.5.6 分析  1.6 將中綴表達式轉換為后綴表達式  1.7 十進制數(shù)轉換成八進制數(shù)  1.8 括號匹配的檢驗  1.9 行編輯程序  1.10 行編輯程序  1.11 表達式求值  1.12 順序循環(huán)隊列的類定義(數(shù)組表示)和實現(xiàn)    1.12.1 程序構思    1.12.2 順序循環(huán)隊列的類定義queuel.h    1.12.3 順序循環(huán)隊列的實現(xiàn)queuel.cpp    1.12.4 順序循環(huán)隊列的測試queuelm.cpp    1.12.5 queuelm.cpp運行結果  1.13 順序循環(huán)隊列的類定義(動態(tài)分配)和實現(xiàn)    1.13.1 程序構思    1.13.2 順序循環(huán)隊列的類定義queue2.h    1.13.3 順序循環(huán)隊列的實現(xiàn)queue2.cpp    1.13.4 順序循環(huán)隊列的測試queue2m.cpp    1.13.5 queue2m.cpp運行結果  1.14 循環(huán)雙端隊列順序表示和實現(xiàn)    1.14.1 程序構思    1.14.2 循環(huán)雙端隊列順序表示duilie.cpp    1.14.3 循環(huán)雙端隊列實現(xiàn)    1.14.4 循環(huán)雙端隊列的測試    1.14.5 duilie.cpp運行結果    1.14.6 分析  1.15 不考慮優(yōu)先級相同元素的先進先出問題的順序優(yōu)先級隊列    1.15.1 程序構思    1.15.2 不考慮優(yōu)先級相同元素的先進先出問題的順序優(yōu)先級隊列類定義SqPQueue.h    1.15.3 順序優(yōu)先級隊列的實現(xiàn)sqPQueue.cpp    1.15.4 順序優(yōu)先級隊列的測試SqPQueuem.cpp    1.15.5 SqPQueuem.cpp運行結果  1.16 考慮優(yōu)先級相同元素的先進先出問題的順序優(yōu)先級隊列    1.16.1 程序構思    1.16.2 考慮優(yōu)先級相同元素的先進先出問題的順序優(yōu)先級隊列類定義SPOueue-h    1.16.3 順序優(yōu)先級隊列的實現(xiàn)sPQueue.cpp    1.16.4 順序優(yōu)先級隊列的測試sPQueuem.cpp    1.16.5 SPQueuem.cpp運行結果    1.16.6分析第2章 鏈式存儲結構的表、堆棧和隊列  2.1 單鏈表的鏈式表示和實現(xiàn)    2.1.1 程序構思    2.1.2 單鏈表的類定義linklist3.h    2.1.3 單鏈表的實現(xiàn)linklist3.cpp    2.1.4 單鏈表的測試linklist3m.cpp    2.1.5 linklist3m.cpp運行結果    2.1.6 分析  2.2 鏈式堆棧的類定義(動態(tài)分配)和實現(xiàn)    2.2.1 程序構思    2.2.2 鏈式堆棧的類定義linearStack2.h    2.2.3 鏈式堆棧的實現(xiàn)linearStack2.cpp    2.2.4 鏈式堆棧的測試linearstack2m.cpp    2.2.5 linearStack2m.cpp運行結果    2.2.6 分析  2.3 后綴表達式求值  2.4 鏈式隊列的類定義和實現(xiàn)    2.4.1 程序構思    2.4.2 鏈式隊列的類定義linqueue.h    2.4.3 鏈式隊列的實現(xiàn)linqueue.cpp    2.4.4 鏈式隊列的測試linqueuem.cpp    2.4.5 linqueuem.cpp運行結果  2.5 單循環(huán)鏈表類定義和實現(xiàn)    2.5.1 程序構思    2.5.2 單循環(huán)鏈表的類定義cirlinklist.h    2.5.3 單循環(huán)鏈表的實現(xiàn)cirlinklist.cpp    2.5.4 單循環(huán)鏈表的測試與應用cirlinklistm.cpp    2.5.5 cirlinklistm.cpp運行結果    2.5.6 分析  2.6 雙向循環(huán)鏈表的類定義和實現(xiàn)    2.6.1 程序構思    2.6.2 雙向循環(huán)鏈表的類定義dcirlinkl.h    2.6.3 向循環(huán)鏈表的實現(xiàn)dcirlinkl.cpp    2.6.4 向循環(huán)鏈表的測試與應用dcirlinklm.cpp    2.6.5 dcirlinklm.cpp運行結果    2.6.6 分析  2.7 迷宮求解第3章 數(shù)組、串和廣義表  3.1 變長參數(shù)表的應用  3.2 建立一維、二維數(shù)組的類定義和實現(xiàn)    3.2.1 程序構思    3.2.2 建立一維、二維數(shù)組的類定義intarray.h    3.2.3 建立一維、二維數(shù)組的類實現(xiàn)intarray.cpp    3.2.4 建立一維、二維數(shù)組的類測試intarraym.cpp    3.2.5 intarraym.cpp運行結果  3.3 稀疏矩陣的類定義與操作    3.3.1 程序構思    3.3.2 稀疏矩陣的類定義與操作xishu.h    3.3.3 稀疏矩陣相關操作的測試xishuM.cpp    3.3.4 xishuM.cpp運行結果  3.4 十字鏈表的定義與相關操作    3.4.1 程序構思    3.4.2 十字鏈表的定義與相關操作xishuM1.cpp    3.4.3 十字鏈表的操作測試    3.4.4 xishuMl.cpp運行結果  3.5 十字鏈表的定義與相關操作    3.5.1 程序構思    3.5.2 十字鏈表的類定義與相關操作xishuM2.cpp    3.5.3 十字鏈表相關操作的測試    3.5.4 xishuM2.cpp運行結果  3.6 十字鏈表的定義與相關操作    3.6.1 程序構思    3.6.2 十字鏈表的定義與相關操作xishuM3.cpp    3.6.3 十字鏈表相關操作的測試    3.6.4 xishuM3.cpp運行結果  3.7 十字鏈表的定義與相關操作    3.7.1 程序構思    3.7.2 十字鏈表的類定義與相關操作xishuM4.cpp    3.7.3 十字鏈表相關操作的測試    3.7.4 xishuM4.cpp運行結果  3.8 廣義表的類定義和實現(xiàn)    3.8.1 程序構思    3.8.2廣義表的類定義guangyi.h    3.8.3 廣義表的類實現(xiàn)guangyi.cpp    3.8.4 廣義表的相關操作的測試guangyiM.cpp    3.8.5 guangyiM.cpp運行結果    3.8.6 分析  3.9 字符串的模式匹配    3.9.1 程序構思    3.9.2 字符串的模式匹配測試    3.9.3 Findstr.cpp運行結果  3.10 串模式匹配的類定義和實現(xiàn)    3.10.1 程序構思    3.10.2 串模式匹配的類定義FindSub.cpp    3.10.3 串模式匹配的類實現(xiàn)    3.10.4 串模式匹配的測試    3.10.5 FindSub.cpp運行結果第4章 遞歸  4.1 遞歸運算(棧的應用)    4.1.1 程序構思    4.1.2 遞歸運算(棧的應用)Recurve.cpp    4.1.3 鏈式棧類實現(xiàn)    4.1.4 鏈式棧類操作測試    4.1.5 Recurve.cpp運行結果    4.1.6 分析  4.2 使用回溯法求解迷宮問題    4.2.1 程序構思    4.2.2 路口的結構體定義migong.cpp    4.2.3 迷宮類定義與實現(xiàn)    4.2.4 迷宮類的測試    4.2.5 migong.cpp運行結果第5章 樹和二叉樹  5.1 樹的類定義和實現(xiàn)    5.1.1 程序構思    5.1.2 樹的孩子兄弟表示法為存儲結構的結構體Tree.h    5.1.3 樹類的實現(xiàn)Tree.cpp    5.1.4 樹類相關操作的測試TreeM.cpp    5.1.5 TreeM.cpp運行結果  5.2 二叉樹的類定義和實現(xiàn)    5.2.1 程序構思    5.2.2 二叉樹類定義btree2.h    5.2.3 二叉樹類的實現(xiàn)btree2.cpp    5.2.4 二又樹類相關操作的測試btree2M.cpp    5.2.5 btree2M.cpp運行結果    5.2.6 分析  5.3 二叉樹的類定義和實現(xiàn)    5.3.1 程序構思    5.3.2 二叉樹類定義btree.h    5.3.3 二叉樹類的實現(xiàn)btree.cpp    5.3.4 二叉樹類相關操作的測試btreeM.cpp    5.3.5 btreeM.cpp運行結果    5.3.6 分析  5.4 二叉搜索樹的類定義和實現(xiàn)    5.4.1 程序構思    5.4.2 二叉搜索樹的類定義BSTree.h    5.4.3 二叉搜索樹類的實現(xiàn)BsTree.cpp    5.4.4 二叉搜索樹相關操作的測試BSTreeM.cpp    5.4.5 BSTreeM.cpp運行結果  5.5 二叉搜索樹的類定義和實現(xiàn)    5.5.1 程序構思    5.5.2 二叉搜索樹的類定義與實現(xiàn)BSTREEl.h    5.5.3 二叉搜索樹類的實現(xiàn)    5.5.4 二叉搜索樹的類型測試BSTreelM.cpp    5.5.5 BSTreelM.cpp運行結果  5.6 二叉搜索樹的類定義和實現(xiàn)    5.6.1 程序構思    5.6.2 二叉搜索樹的類定義BSTreeF.h    5.6.3 二叉搜索樹類的實現(xiàn)BSTreeF.cpp    5.6.4 二叉搜索樹類的相關操作的測試BSTreeFM.cpp    5.6.5 BSTreeFM.cpp運行結果  5.7 線索二叉樹類定義和實現(xiàn)    5.7.1 程序構思    5.7.2 線索二叉樹結點類型存儲結構體TBSTree.h    5.7.3 線索二叉樹類的實現(xiàn)    5.7.4 線索二叉樹類相關操作的測試TBSTreeM.cpp    5.7.5 TBSTreeM.cpp運行結果  5.8 線索二又樹類定義和實現(xiàn)    5.8.1 程序構思    5.8.2 線索二叉樹結點類型存儲結構體TBSTreel-h    5.8.3 線索二叉樹類的實現(xiàn)    5.8.4 線索二叉樹類相關操作的測試TBSTreelM.cpp    5.8.5 TBSTreelM.cpp運行結果  5.9 線索二叉樹類定義和實現(xiàn)    5.9.1 程序構思    5.9.2 線索二叉樹結點類型存儲結構體TBSTree2.h    5.9.3 線索二叉樹類與派生類的實現(xiàn)    5.9.4 線索二叉樹類相關操作的測試TBSTree2M.cpp    5.9.5 TBSTree2M.cpp運行結果  5.10 赫夫曼樹與赫夫曼編碼    5.10.1 程序構思    5.10.2 赫夫曼樹與赫夫曼編碼Huffman.cpp    5.10.3 類實現(xiàn)    5.10.4 赫夫曼編碼問題的測試    5.10.5 Huffman.cpp運行結果  5.11 赫夫曼樹與赫夫曼編碼  5.12 赫夫曼樹與赫夫曼編碼  5.13 線性表的動態(tài)分配順序表示和實現(xiàn)  5.14 最小堆的類定義和實現(xiàn)    5.14.1 程序構思    5.14.2 最小堆的類定義minheaD-h    5.14.3 最小堆的實現(xiàn)millheap.cpp    5.14.4 最小堆類的測試minheapm.cpp    5.14.5 minheapm.cpp運行結果  5.15 利用最小堆相關操作進行堆排序  5.16 最大堆的類定義和實現(xiàn)    5.16.1 程序構思    5.16.2 最大堆的類定義maXheap.h    5.16.3 最大堆的實現(xiàn)maxheap.cpp    5.16.4 最大堆類的測試maxheapm.cpp    5.16.5 maxheapm.cpp運行結果  5.17 利用最大堆相關操作進行堆排序第6章 圖  6.1 圖的類定義和實現(xiàn)    6.1.1 程序構思    6.1.2 圖的相關數(shù)據(jù)類型的定義graph.h    6.1.3 圖的相關運算的實現(xiàn)graph.cpp    6.1.4 圖的相關運算的測試graphM.cpp    6.1.5 graphM.cpp運行結果  6.2 圖的類定義和實現(xiàn)    6.2.1 程序構思    6.2.2 圖的相關數(shù)據(jù)類型的定義graphO.h    6.2.3 圖的相關運算的實現(xiàn)graphO.cpp    6.2.4 圖的相關運算的測試graphOM.cpp    6.2.5 graph0M.cpp運行結果    6.2.6 分析  6.3 圖的類定義和實現(xiàn)    6.3.1 程序構思    6.3.2 圖的相關數(shù)據(jù)類型的定義graphl.h    6.3.3 圖的相關運算的實現(xiàn)graphl.cpp    6.3.4 圖的相關運算的測試graphlM.cpp    6.3.5 graph1M.cpp運行結果  6.4 利用普里姆算法求出用鄰接矩陣表示的圖的最小生成樹    6.4.1 程序構思    6.4.2 圖的相關數(shù)據(jù)類型的定義graph2.h    6.4.3 圖的運算的實現(xiàn)文件graph2.cpp    6.4.4 圖的相關運算的測試graph2M.cpp    6.4.5 graph2M.cpp運行結果    6.4.6 分析  6.5 利用克魯斯卡爾方法求邊集數(shù)組所示圖的最小生成樹    6.5.1 程序構思    6.5.2 圖的相關數(shù)據(jù)類型的定義graph3.h    6.5.3 圖的運算的實現(xiàn)文件graph3.cpp    6.5.4 圖的相關運算的測試graph3M.cpp    6.5.5 graph3M.cpp運行結果    6.5.6 分析  6.6 狄克斯特拉算法(從一個頂點到其余各頂點的最短路徑)    6.6.1 程序構思    6.6.2 最短路徑(狄克斯特拉算法)PshortP.h    6.6.3 狄克斯特拉算法測試PshortPM.cpp    6.6.4 PShortPM.cpp運行結果    6.6.5 分析  6.7 最短路徑(從一個頂點到其余各頂點的最短路徑)    6.7.1 程序構思    6.7.2 最短路徑(狄克斯特拉算法)PshortPl.cpp    6.7.3 算法測試    6.7.4 PShortP1.cpp運行結果    6.7.5 分析  6.8 最短路徑(所有頂點之間的最短路徑)    6.8.1 程序構思    6.8.2 最短路徑SShortP.cpp    6.8.3 算法測試    6.8.4 SShortP.cpp運行結果    6.8.5 分析  6.9 最短路徑(所有頂點之間的最短路徑)    6.9.1 程序構思    6.9.2 最短路徑SShortP1.cpp    6.9.3 算法測試    6.9.4 SShortP1.cpp運行結果    6.9.5 分析  6.10 最短路徑(弗洛伊德算法、所有頂點之間的最短路徑)    6.10.1 程序構思    6.10.2 最短路徑(弗洛伊德算法)FloydP.h    6.10.3 弗洛伊德算法測試FloydP.cpp    6.10.4 FloydP.cpp運行結果    6.10.5 分析  6.11 最短路徑(弗洛伊德算法、所有頂點之間的最短路徑)    6.11.1 程序構思    6.11.2 弗洛伊德算法測試FloydPl.cpp    6.11.3 FloydPl.cpp運行結果    6.11.4 分析    6.12 拓撲排序第7章 排序  7.1 桶排序  7.2 插入排序法(類方法)  7.3 插入排序法(類方法)  7.4 插入排序法  7.5 希爾排序法(類方法)  7.6 希爾排序  7.7 快速排序(類方法)  7.8 快速排序(類方法)  7.9 快速排序  7.10 快速排序  7.11 通用選擇排序法  7.12 選擇排序  7.13 選擇排序法(下沉)  7.14 選擇排序法(類方法)  7.15 選擇排序法(函數(shù)模板、排序不改變原數(shù)組各元素的值)  7.16 選擇排序法(函數(shù)模板、上浮)  7.17 選擇排序法(排序后不改變原數(shù)組各元素的值)  7.18 通用冒泡排序法(下沉)  7.19 冒泡排序法(上浮)  7.20 冒泡排序法(下沉)  7.21 通用冒泡排序法(上浮)  7.22 歸并排序(類方法)  7.23 歸并排序法  7.24 堆排序法(類方法)  7.25 堆排序法  7.26 堆排序法(迭代器)  7.27 基數(shù)排序法(類方法)  7.28 基數(shù)排序法(函數(shù)模板)  7.29 錦標賽排序法  7.30 多種排序方法  7.31 K路平衡歸并  7.32 對外存文件(磁盤文件)進行選擇排序的算法  7.33 外存文件的排序操作(二路平衡歸并)第8章 查找  8.1 分查找法(遞歸調(diào)用)  8.2 二分查找法(非遞歸調(diào)用)  8.3 二叉排序樹的類定義與實現(xiàn)    8.3.1 程序構思    8.3.2 二叉排序樹的類定義    8.3.3 二叉排序樹的類實現(xiàn)    8.3.4 二叉排序樹類的測試    8.3.5 BinSortT.cpp運行結果  8.4 Fibonacci查找法  8.5 平衡二叉搜索樹類定義與實現(xiàn)    8.5.1 程序構思    8.5.2 平衡二叉搜索樹類定義與實現(xiàn)AVLTREE.h    8.5.3 平衡二叉搜索樹的類模板實現(xiàn)    8.5.4 平衡二叉搜索樹類測試AVLTREEM.cpp    8.5.5 AVLTREEM.cpp運行結果    8.5.6 分析  8.6 順頃序表的查找  8.7 B-樹的操作    8.7.1 程序構思    8.7.2 B-樹的操作B Tree.cpp    8.7.3 B-樹的相關操作的測試    8.7.4 B_Tree.cpp運行結果  8.8 B-樹的(類方法)操作    8.8.1 程序構思    8.8.2 B-樹的結點類型定義    8.8.3 B-樹的類實現(xiàn)    8.8.4 B-樹的類相關操作的測試    8.8.5 B_Treel.cpp運行結果  8.9 哈希表    8.9.1 程序構思    8.9.2 哈希表的結點類型定義    8.9.3 哈希表的操作實現(xiàn)    8.9.4 哈希表的相關操作的測試    8.9.5 hashtable.cpp運行結果  8.10 散列表類定義與實現(xiàn)    8.10.1 程序構思    8.10.2 散列表類定義LHashL.h    8.10.3 散列表類的實現(xiàn)LHashL.cpp    8.10.4 散列表類的相關操作的測試    8.10.5 LHashLM.cpp運行結果    8.10.6 分析第9章 文件  9.1 散列文件的插入、刪除和查找操作    9.1.1 程序構思    9.1.2 散列文件的類模板定義、插入、刪除和查找操作HashFM.cpp    9.1.3 散列文件的類模板實現(xiàn)    9.1.4 散列文件的類模板實現(xiàn)的測試    9.1.5 HashFM.cpp運行結果  9.2 索引文件的相關操作    9.2.1 程序構思    9.2.2 索引文件的相關操作IndexF.cpp    9.2.3 索引文件的類模板實現(xiàn)    9.2.4 索引文件的類模板實現(xiàn)的測試IndexFM.cpp    9.2.5 IndexFM.cpp運行結果參考文獻

圖書封面

評論、評分、閱讀與下載


    數(shù)據(jù)結構算法 PDF格式下載


用戶評論 (總計1條)

 
 

  •   雖然講的是數(shù)據(jù)結構,但光盤里的例子根本都運行不了
 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網(wǎng) 手機版

京ICP備13047387號-7