出版時(shí)間:2008-7 出版社:機(jī)械工業(yè)出版社 作者:張曉莉 等 著 頁(yè)數(shù):259
Tag標(biāo)簽:無(wú)
內(nèi)容概要
《數(shù)據(jù)結(jié)構(gòu)與算法(第2版)》詳紐講述了線性結(jié)構(gòu)、樹(shù)結(jié)構(gòu)和圖結(jié)構(gòu)中的數(shù)據(jù)表示及數(shù)據(jù)處理的方法,對(duì)查找和排序兩種重要的數(shù)據(jù)處理進(jìn)行了詳細(xì)的探討。書中對(duì)各類數(shù)據(jù)結(jié)構(gòu)的分析按照“邏輯結(jié)構(gòu)-存儲(chǔ)結(jié)構(gòu)-基本運(yùn)算的實(shí)現(xiàn)-時(shí)空性分析-實(shí)例”的順序進(jìn)行講述,算法全部采用C語(yǔ)言描述,很容易轉(zhuǎn)換成程序。在每章的后面都配有不同類型的習(xí)題:有加強(qiáng)概念理解的選擇題、判斷題,有幫助理解算法思想的簡(jiǎn)答題,也有培養(yǎng)算法設(shè)計(jì)能力的算法設(shè)計(jì)題。本書語(yǔ)言敘述通俗易懂,由淺入深,算法可讀性好,應(yīng)用性強(qiáng),書中配有大量算法設(shè)計(jì)的例子,便于讀者理解和掌握數(shù)據(jù)結(jié)構(gòu)中數(shù)據(jù)表示和數(shù)據(jù)處理的方法?! 稊?shù)據(jù)結(jié)構(gòu)與算法(第2版)》可作為計(jì)算機(jī)和信息類相關(guān)專業(yè)本(專)科“數(shù)據(jù)結(jié)構(gòu)”課程的教材或?qū)W習(xí)參考書,也可供有關(guān)工程技術(shù)人員參考。
書籍目錄
出版說(shuō)明前言第1章 緒論1.1 引言1.1.1 為什么要學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)1.1.2 數(shù)據(jù)結(jié)構(gòu)課程的內(nèi)容1.2 數(shù)據(jù)結(jié)構(gòu)的概念1.2.1 基本概念和術(shù)語(yǔ)1.2.2 抽象數(shù)據(jù)類型1.3 算法1.3.1 算法及其特征1.3.2 算法的描述1.3.3 算法的性能分析1.4 小結(jié)習(xí)題第2章 線性表2.1 線性表的邏輯結(jié)構(gòu)2.1.1 線性表的定義2.1.2 線性表的基本運(yùn)算2.2 線性表的順序存儲(chǔ)2.2.1 順序表2.2.2 順序表上基本運(yùn)算的實(shí)現(xiàn)2.2.3 順序表應(yīng)用舉例2.3 線性表的鏈?zhǔn)酱鎯?chǔ)2.3.1 單鏈表2.3.2 單鏈表上基本運(yùn)算的實(shí)現(xiàn)2.3.3 循環(huán)鏈表2.3.4 雙向鏈表2.3.5 靜態(tài)鏈表2.3.6 鏈表應(yīng)用舉例2.4 順序表和鏈表的比較2.5 小結(jié)習(xí)題第3章 棧和隊(duì)列3.1 棧3.1.1 棧的定義及基本運(yùn)算3.1.2 棧的存儲(chǔ)及運(yùn)算實(shí)現(xiàn)3.2 棧的應(yīng)用舉例3.3 隊(duì)列3.3.1 隊(duì)列的定義及基本運(yùn)算3.3.2 隊(duì)列的存儲(chǔ)及運(yùn)算實(shí)現(xiàn)3.4 隊(duì)列的應(yīng)用舉例3.5 小結(jié)習(xí)題第4章 字符串及線性結(jié)構(gòu)的擴(kuò)展4.1 字符串4.1.1 字符串的基本概念4.1.2 順序串4.1.3 模式匹配4.2 數(shù)組4.2.1 數(shù)組的邏輯結(jié)構(gòu)及內(nèi)存映象4.2.2 特殊矩陣4.2.3 稀疏矩陣4.3 廣義表4.3.1 廣義表的邏輯結(jié)構(gòu)4.3.2 廣義表的存儲(chǔ)4.4 小結(jié)習(xí)題第5章 樹(shù)結(jié)構(gòu)5.1 二叉樹(shù)5.1.1 二叉樹(shù)的概念5.1.2 二叉樹(shù)的主要性質(zhì)5.1.3 二叉樹(shù)的存儲(chǔ)5.1.4 二叉樹(shù)基本運(yùn)算的實(shí)現(xiàn)5.2 二叉樹(shù)的遍歷5.2.1 以遞歸方法實(shí)現(xiàn)二叉樹(shù)的3種遍歷5.2.2 以非遞歸方法實(shí)現(xiàn)二叉樹(shù)的3種遍歷5.2.3 按層次遍歷二叉樹(shù)5.3 二叉樹(shù)遍歷的應(yīng)用5.3.1 構(gòu)造二叉樹(shù)的二叉鏈表存儲(chǔ)5.3.2 由遍歷序列恢復(fù)二叉樹(shù)5.3.3 在二叉樹(shù)中查找值為x的數(shù)據(jù)元素5.3.4 統(tǒng)計(jì)給定二叉樹(shù)中葉子結(jié)點(diǎn)的數(shù)目5.3.5 表達(dá)式運(yùn)算5.4 線索二叉樹(shù)5.4.1 線索二叉樹(shù)的定義及結(jié)構(gòu)5.4.2 線索二叉樹(shù)的構(gòu)建及遍歷5.5 哈夫曼樹(shù)及哈夫曼編碼5.5.1 問(wèn)題的引入5.5.2 哈夫曼樹(shù)5.5.3 哈夫曼樹(shù)的構(gòu)造5.5.4 哈夫曼編碼5.6 樹(shù)5.6.1 樹(shù)的概念5.6.2 樹(shù)的表示5.6.3 樹(shù)的存儲(chǔ)5.7 樹(shù)和森林與二叉樹(shù)之間的轉(zhuǎn)換5.7.1 樹(shù)轉(zhuǎn)換為二叉樹(shù)5.7.2 森林轉(zhuǎn)換為二叉樹(shù)5.7.3 二叉樹(shù)轉(zhuǎn)換為樹(shù)和森林5.8 樹(shù)或森林的遍歷5.8.1 樹(shù)的遍歷5.8.2 森林的遍歷5.9 樹(shù)的應(yīng)用5.9.1 判定樹(shù)5.9.2 集合的表示5.9.3 等價(jià)問(wèn)題5.10 小結(jié)習(xí)題第6章 圖結(jié)構(gòu)6.1 圖的基本概念6.1.1 圖的定義和術(shù)語(yǔ)6.1.2 圖的基本操作6.2 圖的存儲(chǔ)方法6.2.1 鄰接矩陣6.2.2 鄰接表6.2.3 十字鏈表6.2.4 鄰接多重表6.3 圖的遍歷6.3.1 深度優(yōu)先搜索6.3.2 廣度優(yōu)先搜索6.3.3 應(yīng)用圖的遍歷判定圖的連通性6.4 生成樹(shù)和最小生成樹(shù)6.4.1 生成樹(shù)和生成森林6.4.2 最小生成樹(shù)6.4.3 構(gòu)造最小生成樹(shù)的Prim算法6.4.4 構(gòu)造最小生成樹(shù)的Kruskal算法6.5 有向無(wú)環(huán)圖及其應(yīng)用6.5.1 有向無(wú)環(huán)圖的概念6.5.2 AOV網(wǎng)與拓?fù)渑判?.5.3 AOE網(wǎng)與關(guān)鍵路徑6.6 最短路徑6.6.1 從一個(gè)源點(diǎn)到其他各點(diǎn)的最短路徑6.6.2 每一對(duì)頂點(diǎn)之間的最短路徑——弗洛伊德算法6.7 小結(jié)習(xí)題第7章 查找7.1 基本概念7.2 線性表查找7.2.1 順序查找7.2.2 在順序存儲(chǔ)的有序表上查找7.3 樹(shù)表查找7.3.1 二叉排序樹(shù)7.3.2 平衡二叉樹(shù)7.3.3 B樹(shù)和B+樹(shù)7.4 散列表查找7.4.1 散列表7.4.2 常用的散列函數(shù)7.4.3 處理沖突的方法及散列表的構(gòu)造7.4.4 散列表上的查找7.4.5 散列表上的刪除7.5 小結(jié)習(xí)題第8章 排序8.1 基本概念8.2 插入排序8.2.1 直接插入排序8.2.2折半插入排序8.2.3 表插入排序及重排8.2.4 希爾排序8.3 交換排序8.3.1 冒泡排序8.3.2 快速排序8.4 選擇排序8.4.1 簡(jiǎn)單選擇排序8.4.2 樹(shù)結(jié)構(gòu)選擇排序8.4.3 堆排序8.5 歸并排序8.6 基數(shù)排序8.6.1 多關(guān)鍵碼排序8.6.2 鏈?zhǔn)交鶖?shù)排序8.7 外部排序8.7.1 外部排序的方法8.7.2 多路平衡歸并的實(shí)現(xiàn)8.8 小結(jié)習(xí)題參考文獻(xiàn)
章節(jié)摘錄
第1章 緒論 計(jì)算機(jī)科學(xué)是一門研究數(shù)據(jù)表示和數(shù)據(jù)處理的科學(xué)。數(shù)據(jù)就是對(duì)客觀事務(wù)采用的計(jì)算機(jī)能夠識(shí)別、存儲(chǔ)和處理的符號(hào)表示。簡(jiǎn)言之,數(shù)據(jù)是計(jì)算機(jī)化的信息,是計(jì)算機(jī)可以直接處理的最基本和最重要的對(duì)象。無(wú)論是進(jìn)行科學(xué)計(jì)算或數(shù)據(jù)處理、過(guò)程控制,還是對(duì)文件的存儲(chǔ)和檢索等計(jì)算機(jī)應(yīng)用,都是對(duì)數(shù)據(jù)進(jìn)行加工處理的過(guò)程。計(jì)算機(jī)對(duì)數(shù)據(jù)的處理并不是簡(jiǎn)單地將數(shù)據(jù)堆積在一起,而是使其具有某種內(nèi)在的聯(lián)系。因此,為了更有效地處理數(shù)據(jù),設(shè)計(jì)出好的算法,編寫出結(jié)構(gòu)清晰而且效率高的程序,必須研究數(shù)據(jù)的特性、數(shù)據(jù)間的相互關(guān)系及其對(duì)應(yīng)的存儲(chǔ)表示,并利用這些特性和關(guān)系設(shè)計(jì)出相應(yīng)的算法和程序?!? 1.1 引言 數(shù)據(jù)結(jié)構(gòu)是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)的專業(yè)基礎(chǔ)課,是一門十分重要的核心課程。數(shù)據(jù)結(jié)構(gòu)的知識(shí)為后續(xù)專業(yè)課程的學(xué)習(xí)提供必要的知識(shí)和技能準(zhǔn)備,學(xué)好“數(shù)據(jù)結(jié)構(gòu)”這門課程,對(duì)于學(xué)習(xí)計(jì)算機(jī)專業(yè)的其他課程,如操作系統(tǒng)、編譯原理、數(shù)據(jù)庫(kù)管理系統(tǒng)、軟件工程、人工智能等都是十分有益的,而且所有的計(jì)算機(jī)系統(tǒng)軟件和應(yīng)用軟件都要用到各種類型的數(shù)據(jù)結(jié)構(gòu)。因此,要想更好地運(yùn)用計(jì)算機(jī)來(lái)解決實(shí)際問(wèn)題,僅掌握幾種計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言是難以應(yīng)付眾多復(fù)雜的課題的,要想有效地使用計(jì)算機(jī)、充分發(fā)揮計(jì)算機(jī)的性能,還必須學(xué)習(xí)和掌握好數(shù)據(jù)結(jié)構(gòu)的有關(guān)知識(shí)。 ……
圖書封面
圖書標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載
數(shù)據(jù)結(jié)構(gòu)與算法 PDF格式下載