出版時間:2000-6 出版社:西安電子科技大學(xué)出版社 作者:楊秀金 頁數(shù):289
內(nèi)容概要
《數(shù)據(jù)結(jié)構(gòu)》系統(tǒng)地介紹了各種數(shù)據(jù)結(jié)構(gòu)的特點、存儲結(jié)構(gòu)及相關(guān)算法。書中采用C語言描述算法。主要內(nèi)容包括:數(shù)據(jù)結(jié)構(gòu)的基本概念、算法描述和算法分析初步;線性表、堆棧、隊列、串、數(shù)組、樹、圖等結(jié)構(gòu);排序、查找和文件組織等。每章后面配有習(xí)題。多數(shù)章節(jié)給出了完整C語言源程序示例。第11章介紹了算法書寫及實習(xí)步驟規(guī)范。最后一章簡要介紹了面向?qū)ο蟪绦蛟O(shè)計?! 稊?shù)據(jù)結(jié)構(gòu)》敘述清晰、深入淺出、注重實踐,便于教學(xué)與實踐?! 稊?shù)據(jù)結(jié)構(gòu)》可作為大專、高職類院校的計算機(jī)專業(yè)教材,也可供從事計算機(jī)應(yīng)用與工程工作的科技工作者自學(xué)參考。
書籍目錄
第1章 緒論1.1 數(shù)據(jù)結(jié)構(gòu)的基本概念和術(shù)語1.1.1 引言1.1.2 數(shù)據(jù)結(jié)構(gòu)有關(guān)概念及術(shù)語1.1.3 數(shù)據(jù)結(jié)構(gòu)和抽象數(shù)據(jù)類型(ADT)1.2 算法描述與分析1.2.1 什么是算法1.2.2 算法描述工具——C語言1.2.3 算法分析技術(shù)初步習(xí)題一第2章 線性表2.1 線性表的定義及其運算2.1.1 線性表的定義2.1.2 各種運算簡介2.2 線性表的順序存儲結(jié)構(gòu)(向量)2.2.1 順序存儲結(jié)構(gòu)(向量)2.2.2 向量中基本運算的實現(xiàn)2.3 線性表的鏈表存儲結(jié)構(gòu)2.3.1 單鏈表與指針2.3.2 單鏈表的基本運算2.4 循環(huán)鏈表和雙向鏈表2.4.1 循環(huán)鏈表2.4.2 雙向鏈表2.4.3 順序存儲結(jié)構(gòu)與鏈表存儲結(jié)構(gòu)的綜合分析與比較2.5 多項式相加問題2.5.1 多項式相加的鏈表存儲結(jié)構(gòu)2.5.2 多項式相加的算法實現(xiàn)2.6 線性表的算法實現(xiàn)舉例2.6.1 實現(xiàn)線性表順序存儲結(jié)構(gòu)及運算的C語言源程序2.6.2 單鏈表處理的C語言源程序習(xí)題二第3章 棧和隊列3.1 棧3.1.1 棧的定義及其運算3.1.2 棧的順序存儲結(jié)構(gòu)(向量)3.1.3 棧的鏈表存儲結(jié)構(gòu)3.1.4 棧的應(yīng)用3.2 隊列3.2.1 隊列的定義及運算3.2.2 隊列的順序存儲結(jié)構(gòu)(向量)3.2.3 隊列的鏈表存儲結(jié)構(gòu)3.3 棧和隊列的算法實現(xiàn)舉例習(xí)題三第4章 串4.1 串的基本概念4.2 串的存儲結(jié)構(gòu)4.2.1 串的順序存儲4.2.2 串的鏈表存儲4.2.3 串變量的存儲映象4.3 串的運算4.3.1 串的運算簡介4.3.2 串的匹配運算4.4 文本編輯習(xí)題四第5章 數(shù)組和廣義表5.1 數(shù)組的基本概念5.1.1 數(shù)組的概念5.1.2 數(shù)組的順序表示5.1.3 特殊矩陣的壓縮存儲5.2 稀疏矩陣的三元組存儲5.2.1 三元組表5.2.2 稀疏矩陣的運算5.3 稀疏矩陣的十字鏈表存儲5.3.1 十字鏈表的組成5.3.2 十字鏈表的有關(guān)算法5.4 廣義表5.4.1 廣義表的概念和特性5.4.2 廣義表的存儲結(jié)構(gòu)5.4.3 求廣義表的深度5.4.4 廣義表的輸出5.4.5 建立廣義表的存儲結(jié)構(gòu)5.5 迷宮問題習(xí)題五第6章 樹與二叉樹6.1 樹的基本概念和術(shù)語6.1.1 樹的定義6.1.2 樹的常用術(shù)語6.1.3 樹的表示方法6.2 二叉樹6.2.1 二叉樹的定義6.2.2 二叉樹的重要性質(zhì)6.2.3 二叉樹的存儲結(jié)構(gòu)6.2.4 二叉樹二叉鏈表的一個生成算法6.3 遍歷二叉樹6.3.1 先根遍歷6.3.2 中根遍歷6.3.3 后根遍歷6.3.4 二叉樹遍歷算法的應(yīng)用6.4 線索二叉樹6.4.1 線索二叉樹的基本概念6.4.2 線索二叉樹的邏輯表示圖6.4.3 中根次序線索化算法6.4.4 在中根線索樹上檢索某結(jié)點的前趨或后繼6.4.5 在中根線索樹上遍歷二叉樹6.5 二叉樹、樹和森林6.5.1 樹的存儲結(jié)構(gòu)6.5.2 樹與二叉樹之間的轉(zhuǎn)換6.5.3 森林與二叉樹的轉(zhuǎn)換6.5.4 一般樹或森林的遍歷6.6 樹的應(yīng)用6.6.1 二叉排序樹6.6.2 哈夫曼樹及其應(yīng)用6.7 二叉樹的建立和遍歷C語言源程序示例習(xí)題六第7章 圖7.1 圖的基本概念和術(shù)語7.1.1 圖的基本概念7.1.2 路徑和回路7.1.3 連通圖7.1.4 頂點的度7.2 圖的存儲結(jié)構(gòu)7.2.1 鄰接矩陣7.2.2 鄰接鏈表7.3 圖的遍歷和求圖的連通分量7.3.1 圖的建立7.3.2 圖的遍歷7.3.3 求圖的連通分量7.4 圖的生成樹7.4.1 生成樹的概念7.4.2 最小生成樹7.4.3 普里姆(Prim)算法和克魯斯卡爾(Kruskal)算法7.5 最短路徑7.5.1 單源頂點最短路徑問題求解7.5.2 求有向網(wǎng)中每對頂點間的路徑7.6 有向無環(huán)圖及應(yīng)用7.6.1 拓?fù)渑判?.6.2 關(guān)鍵路徑7.7 圖的算法C語言程序?qū)崿F(xiàn)舉例7.7.1 無向圖的鄰接表的建立和遍歷7.7.2 有向無環(huán)圖的拓?fù)渑判蚝颓箨P(guān)鍵路徑習(xí)題七第8章 查找8.1 基本概念8.2 靜態(tài)表查找8.2.1 順序表的查找8.2.2 有序表的查找8.2.3 索引順序表的查找8.3 動態(tài)查找表8.3.1 二叉排序樹和二叉平衡樹8.3.2 B+樹和B+樹8.4 哈希表及其查找8.4.1 哈希表與哈希函數(shù)8.4.2 構(gòu)造哈希函數(shù)的常用方法8.4.3 解決沖突的主要方法8.5 哈希表算法實現(xiàn)C語言源程序習(xí)題八第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 內(nèi)部排序總結(jié)9.8 有關(guān)排序算法的C語言源程序9.9 多路歸并用于外排序的簡介習(xí)題九第10章 文件10.1 文件的基本概念10.1.1 文件10.1.2 外存儲器及信息特點10.2 文件的組織10.2.1 順序文件10.2.2 散列文件10.2.3 索引文件10.2.4 索引順序文件10.3 多關(guān)鍵字文件10.3.1 多重表文件10.3.2 倒排文件習(xí)題十第11章 數(shù)據(jù)結(jié)構(gòu)程序設(shè)計及其它11.1 數(shù)據(jù)結(jié)構(gòu)程序設(shè)計11.1.1 算法書寫規(guī)范11.1.2 實習(xí)步驟規(guī)范11.2 實習(xí)報告范例第12章 數(shù)據(jù)結(jié)構(gòu)與面向?qū)ο蟪绦蛟O(shè)計12.1 面向?qū)ο蟪绦蛟O(shè)計的引入12.1.1 面向?qū)ο蟮幕靖拍?2.1.2 面向?qū)ο蟮某绦蛟O(shè)計方法概要12.2 面向?qū)ο蟮臄?shù)據(jù)結(jié)構(gòu)程序設(shè)計舉例12.2.1 線性表的程序設(shè)計12.2.2 堆棧的程序設(shè)計舉例附錄附錄A C語言的運算符和結(jié)合性附錄B C語言常用語法提要附錄C C庫函數(shù)參考文獻(xiàn)
圖書封面
評論、評分、閱讀與下載
數(shù)據(jù)結(jié)構(gòu) PDF格式下載