出版時(shí)間:2008-7 出版社:機(jī)械工業(yè)出版社 作者:張曉莉 等 著 頁數(shù):259
Tag標(biāo)簽:無
內(nèi)容概要
《數(shù)據(jù)結(jié)構(gòu)與算法(第2版)》詳紐講述了線性結(jié)構(gòu)、樹結(jié)構(gòu)和圖結(jié)構(gòu)中的數(shù)據(jù)表示及數(shù)據(jù)處理的方法,對查找和排序兩種重要的數(shù)據(jù)處理進(jìn)行了詳細(xì)的探討。書中對各類數(shù)據(jù)結(jié)構(gòu)的分析按照“邏輯結(jié)構(gòu)-存儲結(jié)構(gòu)-基本運(yùn)算的實(shí)現(xiàn)-時(shí)空性分析-實(shí)例”的順序進(jìn)行講述,算法全部采用C語言描述,很容易轉(zhuǎn)換成程序。在每章的后面都配有不同類型的習(xí)題:有加強(qiáng)概念理解的選擇題、判斷題,有幫助理解算法思想的簡答題,也有培養(yǎng)算法設(shè)計(jì)能力的算法設(shè)計(jì)題。本書語言敘述通俗易懂,由淺入深,算法可讀性好,應(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ù)人員參考。
書籍目錄
出版說明前言第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ù)語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 線性表的順序存儲2.2.1 順序表2.2.2 順序表上基本運(yùn)算的實(shí)現(xiàn)2.2.3 順序表應(yīng)用舉例2.3 線性表的鏈?zhǔn)酱鎯?.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 棧的存儲及運(yùn)算實(shí)現(xiàn)3.2 棧的應(yīng)用舉例3.3 隊(duì)列3.3.1 隊(duì)列的定義及基本運(yùn)算3.3.2 隊(duì)列的存儲及運(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 廣義表的存儲4.4 小結(jié)習(xí)題第5章 樹結(jié)構(gòu)5.1 二叉樹5.1.1 二叉樹的概念5.1.2 二叉樹的主要性質(zhì)5.1.3 二叉樹的存儲5.1.4 二叉樹基本運(yùn)算的實(shí)現(xiàn)5.2 二叉樹的遍歷5.2.1 以遞歸方法實(shí)現(xiàn)二叉樹的3種遍歷5.2.2 以非遞歸方法實(shí)現(xiàn)二叉樹的3種遍歷5.2.3 按層次遍歷二叉樹5.3 二叉樹遍歷的應(yīng)用5.3.1 構(gòu)造二叉樹的二叉鏈表存儲5.3.2 由遍歷序列恢復(fù)二叉樹5.3.3 在二叉樹中查找值為x的數(shù)據(jù)元素5.3.4 統(tǒng)計(jì)給定二叉樹中葉子結(jié)點(diǎn)的數(shù)目5.3.5 表達(dá)式運(yùn)算5.4 線索二叉樹5.4.1 線索二叉樹的定義及結(jié)構(gòu)5.4.2 線索二叉樹的構(gòu)建及遍歷5.5 哈夫曼樹及哈夫曼編碼5.5.1 問題的引入5.5.2 哈夫曼樹5.5.3 哈夫曼樹的構(gòu)造5.5.4 哈夫曼編碼5.6 樹5.6.1 樹的概念5.6.2 樹的表示5.6.3 樹的存儲5.7 樹和森林與二叉樹之間的轉(zhuǎn)換5.7.1 樹轉(zhuǎn)換為二叉樹5.7.2 森林轉(zhuǎn)換為二叉樹5.7.3 二叉樹轉(zhuǎn)換為樹和森林5.8 樹或森林的遍歷5.8.1 樹的遍歷5.8.2 森林的遍歷5.9 樹的應(yīng)用5.9.1 判定樹5.9.2 集合的表示5.9.3 等價(jià)問題5.10 小結(jié)習(xí)題第6章 圖結(jié)構(gòu)6.1 圖的基本概念6.1.1 圖的定義和術(shù)語6.1.2 圖的基本操作6.2 圖的存儲方法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 生成樹和最小生成樹6.4.1 生成樹和生成森林6.4.2 最小生成樹6.4.3 構(gòu)造最小生成樹的Prim算法6.4.4 構(gòu)造最小生成樹的Kruskal算法6.5 有向無環(huán)圖及其應(yīng)用6.5.1 有向無環(huán)圖的概念6.5.2 AOV網(wǎng)與拓?fù)渑判?.5.3 AOE網(wǎng)與關(guān)鍵路徑6.6 最短路徑6.6.1 從一個源點(diǎn)到其他各點(diǎn)的最短路徑6.6.2 每一對頂點(diǎn)之間的最短路徑——弗洛伊德算法6.7 小結(jié)習(xí)題第7章 查找7.1 基本概念7.2 線性表查找7.2.1 順序查找7.2.2 在順序存儲的有序表上查找7.3 樹表查找7.3.1 二叉排序樹7.3.2 平衡二叉樹7.3.3 B樹和B+樹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 簡單選擇排序8.4.2 樹結(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ù)就是對客觀事務(wù)采用的計(jì)算機(jī)能夠識別、存儲和處理的符號表示。簡言之,數(shù)據(jù)是計(jì)算機(jī)化的信息,是計(jì)算機(jī)可以直接處理的最基本和最重要的對象。無論是進(jìn)行科學(xué)計(jì)算或數(shù)據(jù)處理、過程控制,還是對文件的存儲和檢索等計(jì)算機(jī)應(yīng)用,都是對數(shù)據(jù)進(jìn)行加工處理的過程。計(jì)算機(jī)對數(shù)據(jù)的處理并不是簡單地將數(shù)據(jù)堆積在一起,而是使其具有某種內(nèi)在的聯(lián)系。因此,為了更有效地處理數(shù)據(jù),設(shè)計(jì)出好的算法,編寫出結(jié)構(gòu)清晰而且效率高的程序,必須研究數(shù)據(jù)的特性、數(shù)據(jù)間的相互關(guān)系及其對應(yīng)的存儲表示,并利用這些特性和關(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)的知識為后續(xù)專業(yè)課程的學(xué)習(xí)提供必要的知識和技能準(zhǔn)備,學(xué)好“數(shù)據(jù)結(jié)構(gòu)”這門課程,對于學(xué)習(xí)計(jì)算機(jī)專業(yè)的其他課程,如操作系統(tǒng)、編譯原理、數(shù)據(jù)庫管理系統(tǒng)、軟件工程、人工智能等都是十分有益的,而且所有的計(jì)算機(jī)系統(tǒng)軟件和應(yīng)用軟件都要用到各種類型的數(shù)據(jù)結(jié)構(gòu)。因此,要想更好地運(yùn)用計(jì)算機(jī)來解決實(shí)際問題,僅掌握幾種計(jì)算機(jī)程序設(shè)計(jì)語言是難以應(yīng)付眾多復(fù)雜的課題的,要想有效地使用計(jì)算機(jī)、充分發(fā)揮計(jì)算機(jī)的性能,還必須學(xué)習(xí)和掌握好數(shù)據(jù)結(jié)構(gòu)的有關(guān)知識?!? ……
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載
數(shù)據(jù)結(jié)構(gòu)與算法 PDF格式下載