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

出版時間:2010-10  出版社:清華大學出版社  作者:龔丹 編  頁數(shù):320  

內(nèi)容概要

本書為高等學校計算機科學與技術及相關專業(yè)“數(shù)據(jù)結構與算法”課程的教材。全書共分12章,較為系統(tǒng)地闡述了數(shù)據(jù)結構與算法的核心知識單元,包括基本數(shù)據(jù)結構、遞歸、數(shù)據(jù)類型和數(shù)據(jù)抽象、面向對象的程序設計、算法分析的基本方法和基本計算算法以及常用的算法設計策略等。    本書內(nèi)容翔實、語言生動,注重理論敘述的完整性,更強調應用與實踐,是培養(yǎng)應用型人才的院校,或希望較快速地理解和掌握數(shù)據(jù)結構與算法相關實用知識并加以運用的學習者理想的教材形式。書中所有算法都有完整的C++程序,結構清晰、構思精巧,并在VC++6.0環(huán)境下編譯及正確運行,既有助于讀者更好地理解數(shù)據(jù)結構與算法的理論知識點,同時,又能充分地訓練程序設計的能力。通過本書的學習,可以使讀者建立科學合理的分析問題、解決問題及優(yōu)化解決方案的思維過程,為今后學習或從事復雜程序設計奠定基礎。

書籍目錄

第1章  概述  1.1  數(shù)據(jù)結構的基本概念    1.1.1  數(shù)據(jù)結構概念的提出    1.1.2  數(shù)據(jù)結構中的常用術語  1.2  問題抽象與抽象數(shù)據(jù)類型    1.2.1  抽象——成功設計的基石    1.2.2  抽象數(shù)據(jù)類型的表示和實現(xiàn)  1.3  算法的基本概念    1.3.1  算法及算法設計的要求    1.3.2  算法效率的分析和量度  1.4  C++語言要點介紹    1.4.1  數(shù)組和指針    1.4.2  類    1.4.3  函數(shù)及函數(shù)重載    1.4.4  模板    1.4.5  其他自建類型的方法  1.5  小結    習題第2章  線性結構  2.1  線性表的類型定義    2.1.1  線性表的邏輯特性    2.1.2  線性表的ADT定義  2.2  線性表的順序存儲表示    2.2.1  順序表    2.2.2  線性表的其他順序存儲表示  2.3  線性表的鏈式存儲    2.3.1  單鏈表    2.3.2  線性表的其他鏈式存儲表示  2.4  線性表不同存儲表示方法的對比  2.5  集合運算的模擬    2.5.1  問題描述與算法分析    2.5.2  算法實現(xiàn)  2.6  小結    習題第3章  串與文本編輯  3.1  串的類型定義  3.2  串的存儲表示    3.2.1  串的順序存儲    3.2.2  串的鏈式存儲  3.3  串的模式匹配算法  3.4  文本編輯    3.4.1  問題描述與算法分析    3.4.2  算法實現(xiàn)  3.5  小結    習題第4章  棧與遞歸  4.1  棧的類型定義    4.1.1  棧的邏輯特征    4.1.2  棧的ADT定義  4.2  棧的存儲表示    4.2.1  棧的順序存儲    4.2.2  棧的鏈式存儲  4.3  遞歸問題    4.3.1  n!    4.3.2  迷宮問題  4.4  小結    習題第5章  隊列與離散事件模擬  5.1  隊列的類型定義    5.1.1  隊列的邏輯特性    5.1.2  隊列的ADT定義  5.2  隊列的存儲表示    5.2.1  隊列的順序存儲    5.2.2  隊列的鏈式存儲  5.3  離散事件模擬    5.3.1  問題描述與算法分析    5.3.2  算法實現(xiàn)  5.4  小結    習題第6章  數(shù)組與矩陣壓縮  6.1  數(shù)組的類型定義    6.1.1  數(shù)組的邏輯特性    6.1.2  數(shù)組的ADT定義  6.2  數(shù)組的存儲表示  6.3  矩陣壓縮    6.3.1  特殊矩陣的壓縮存儲    6.3.2  稀疏矩陣的壓縮存儲  6.4  小結    習題第7章  廣義線性表  7.1  廣義表的類型定義    7.1.1  廣義表的邏輯特性    7.1.2  廣義表的ADT定義  7.2  廣義表的存儲表示    7.2.1  頭尾表示法    7.2.2  孩子兄弟表示法  7.3  多級管理機構問題    7.3.1  問題描述與算法分析    7.3.2  算法實現(xiàn)  7.4  小結    習題第8章  樹型結構及其應用  8.1  基本概念和術語    8.1.1  樹    8.1.2  樹的ADT定義  8.2  二叉樹    8.2.1  二叉樹的概念及特性    8.2.2  二叉樹的存儲表示    8.2.3  遍歷二叉樹    8.2.4  二叉樹的線索化  8.3  樹和森林    8.3.1  樹的存儲表示    8.3.2  樹與二叉樹的轉換    8.3.3  樹和森林的遍歷  8.4  表達式求值問題    8.4.1  問題描述與算法分析    8.4.2  算法實現(xiàn)  8.5  哈夫曼樹    8.5.1  最優(yōu)二叉樹    8.5.2  哈夫曼樹的存儲表示    8.5.3  哈夫曼編碼問題  8.6  小結    習題第9章  圖型結構及其應用  9.1  圖的類型定義    9.1.1  圖的邏輯特性    9.1.2  圖型結構中的基本概念和術語    9.1.3  圖的ADT定義  9.2  圖的存儲表示    9.2.1  數(shù)組表示法    9.2.2  鄰接表表示法    9.2.3  十字鏈表表示法  9.3  圖的遍歷    9.3.1  圖的深度優(yōu)先遍歷    9.3.2  圖的廣度優(yōu)先遍歷  9.4  圖的連通性與最小生成樹問題    9.4.1  圖的連通性    9.4.2  圖的最小生成樹    9.4.3  工程造價問題求解  9.5  圖的拓撲排序與工程工期問題    9.5.1  圖的拓撲    9.5.2  關鍵路徑    9.5.3  工程工期問題求解  9.6  最短路徑問題    9.6.1  單源點的最短路徑    9.6.2  任意頂點對間的最短路徑  9.7  小結    習題第10章  查找  10.1  基本概念和術語  10.2  靜態(tài)查找表    10.2.1  簡單順序查找表    10.2.2  有序表的查找    10.2.3  索引順序表的查找    10.2.4  靜態(tài)樹表查找  10.3  動態(tài)查找表    10.3.1  二叉排序樹和平衡二叉樹    10.3.2  B-樹    10.3.3  B+樹  10.4  哈希查找表    10.4.1  哈希表及散列存儲    10.4.2  哈希表的構造    10.4.3  哈希表的查找  10.5  小結    習題第11章  內(nèi)部排序  11.1  基本概念和術語  11.2  插入排序    11.2.1  直接插入排序    11.2.2  希爾排序  11.3  交換排序    11.3.1  冒泡排序    11.3.2  快速排序  11.4  選擇排序    11.4.1  簡單選擇排序    11.4.2  樹型選擇排序    11.4.3  堆排序  11.5  歸并排序  11.6  基數(shù)排序  11.7  小結    習題第12章  經(jīng)典算法與實例分析  12.1  STL基礎知識    12.1.1  STL與泛型編程    12.1.2  STL的部件    12.1.3  各部件的協(xié)同工作    12.1.4  STL部件的應用  12.2  分治    12.2.1  算法理論介紹    12.2.2  分治算法的應用  12.3  動態(tài)規(guī)劃    12.3.1  算法理論介紹    12.3.2  動態(tài)規(guī)劃算法的應用  12.4  回溯    12.4.1  算法理論介紹    12.4.2  回溯算法的應用  12.5  小結    習題參考文獻

編輯推薦

  《數(shù)據(jù)結構與算法》將數(shù)據(jù)結構和算法二者有機結合,以簡潔明了、一氣呵成的方式完成實用理論到典型應用的學習過程,使讀者可以更好、更快地領會“數(shù)據(jù)結構+算法一程序”這一著名公式的要義。全書共分12章,總體劃分為3大部分,第1部分為概述,即第1章;第2部分為第2章至第11章,共10章,分別介紹典型數(shù)據(jù)結構的抽象、表示和實現(xiàn),包括線性表、串、棧、隊列、數(shù)組、廣義表、樹、圖,以及基本計算方法查找和排序;第3部分,即第12章,為經(jīng)典算法的實例分析與應用,包括分治、動態(tài)規(guī)劃和回溯,同時介紹了泛型編程的思想及C++標準模板庫的應用。

圖書封面

評論、評分、閱讀與下載


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


用戶評論 (總計0條)

 
 

 

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

京ICP備13047387號-7