熱門關(guān)鍵字:  聽力密碼  聽力密碼  新概念美語(yǔ)  單詞密碼  巧用聽寫練聽力

數(shù)據(jù)結(jié)構(gòu)(C++版)(第二版)

中國(guó)水利水電出版社
    【作 者】李根強(qiáng) 【I S B N 】978-7-5084-6558-6 【責(zé)任編輯】張玉玲 【適用讀者群】本科 【出版時(shí)間】2009-05-01 【開 本】16開本 【裝幀信息】平裝(光膜) 【版 次】第2版 【頁(yè) 數(shù)】268 【千字?jǐn)?shù)】 【印 張】 【定 價(jià)】26 【叢 書】普通高等教育“十一五”國(guó)家級(jí)規(guī)劃教材 【備注信息】
圖書詳情

      本書為普通高等教育“十一五”國(guó)家級(jí)規(guī)劃教材。

      全書從軟件開發(fā)設(shè)計(jì)的角度出發(fā),按照面向?qū)ο蟪绦蛟O(shè)計(jì)思想,詳細(xì)介紹線性表、棧和隊(duì)列、串、多維數(shù)組和廣義表、樹、圖等不同的數(shù)據(jù)結(jié)構(gòu),以及這些數(shù)據(jù)結(jié)構(gòu)在計(jì)算機(jī)中的存儲(chǔ)表示和不同存儲(chǔ)表示上的算法實(shí)現(xiàn)。每個(gè)算法都用C++語(yǔ)言進(jìn)行描述,并全部上機(jī)在Visual C++ 6.0環(huán)境下運(yùn)行通過。另外介紹計(jì)算機(jī)中常用的兩種運(yùn)算:查找和排序,詳細(xì)介紹不同的查找、排序運(yùn)算的實(shí)現(xiàn)及各種算法的效率分析。最后介紹文件的基本概念和文件的組織形式。本書是在2005年第一版的基礎(chǔ)上,做了一定的修改,增加了相應(yīng)的功能,涵蓋了碩士研究生數(shù)據(jù)結(jié)構(gòu)考試大綱所規(guī)定的考試內(nèi)容。

      本書配套的《數(shù)據(jù)結(jié)構(gòu)(C++版)(第二版)習(xí)題解答及實(shí)訓(xùn)指導(dǎo)》一書同時(shí)出版,既方便教學(xué),又便于自學(xué)。

      本書可以作為計(jì)算機(jī)類或信息類相關(guān)專業(yè)本科或?qū)?平滩募按T士研究生考試參考資料,也可以作為自學(xué)數(shù)據(jù)結(jié)構(gòu)人員的參考資料,還可供從事計(jì)算機(jī)工程與應(yīng)用工作的科技人員參考。

    1.在2005年第1版的基礎(chǔ)上,做了一定的修改,增加了相應(yīng)的功能,涵蓋了碩士研究生數(shù)據(jù)結(jié)構(gòu)考試大綱所規(guī)定的考試內(nèi)容。

    2.配套有《數(shù)據(jù)結(jié)構(gòu)(C++版)習(xí)題解答及實(shí)訓(xùn)指導(dǎo)》,既方便教學(xué),又便于自學(xué)。

    3.配有電子教案、源程序及相關(guān)文件

    第二版前言

      “數(shù)據(jù)結(jié)構(gòu)”是計(jì)算機(jī)專業(yè)及相關(guān)專業(yè)的一門重要專業(yè)基礎(chǔ)課,也是一門必修的核心課程,并且已成為其他理工專業(yè)的熱門選修課。

      在計(jì)算機(jī)科學(xué)的各領(lǐng)域中,都要使用到各種不同的數(shù)據(jù)結(jié)構(gòu),如編譯系統(tǒng)中要使用棧、散列表、語(yǔ)法樹等;操作系統(tǒng)中要使用隊(duì)列、存儲(chǔ)管理表、目錄樹等;數(shù)據(jù)庫(kù)系統(tǒng)中要使用線性表、鏈表、索引樹等;人工智能中要使用廣義表、檢索樹、有向圖等;同樣在面向?qū)ο蟮某绦蛟O(shè)計(jì)、計(jì)算機(jī)圖形學(xué)、軟件工程、多媒體技術(shù)、計(jì)算機(jī)輔助設(shè)計(jì)等領(lǐng)域,都會(huì)用到各種不同的數(shù)據(jù)結(jié)構(gòu)。因此,學(xué)好數(shù)據(jù)結(jié)構(gòu),對(duì)從事計(jì)算機(jī)技術(shù)及相關(guān)領(lǐng)域工作的人員來說,是非常重要的,它可以使你掌握各種常用的數(shù)據(jù)結(jié)構(gòu)及其算法實(shí)現(xiàn),以及每一種算法的時(shí)間復(fù)雜度分析和空間復(fù)雜度分析,知道在什么情況下使用什么樣的數(shù)據(jù)結(jié)構(gòu)最方便,為以后研究和開發(fā)大型程序打下基礎(chǔ)。

      數(shù)據(jù)結(jié)構(gòu)的主要任務(wù)是:討論現(xiàn)實(shí)世界中的各種數(shù)據(jù)(數(shù)字、字符、字符串、聲音、圖形、圖像等)的邏輯結(jié)構(gòu)、在計(jì)算機(jī)中的各種存儲(chǔ)結(jié)構(gòu)(存儲(chǔ)表示)以及對(duì)各種非數(shù)值運(yùn)算的算法實(shí)現(xiàn);分析各種不同算法的好壞及其在什么地方應(yīng)用比較合適。通過數(shù)據(jù)結(jié)構(gòu)課程的學(xué)習(xí),使學(xué)生具備用所學(xué)的數(shù)據(jù)結(jié)構(gòu)來解決實(shí)際問題及評(píng)價(jià)算法優(yōu)劣的能力,為以后學(xué)習(xí)后續(xù)計(jì)算機(jī)專業(yè)課程及走上工作崗位從事計(jì)算機(jī)大型軟件開發(fā)鋪路。

      本書是在延續(xù)2005年第一版編寫風(fēng)格的基礎(chǔ)上,根據(jù)作者多年教學(xué)與研發(fā)經(jīng)驗(yàn),并考慮到讀者使用后的反饋信息,對(duì)各章節(jié)內(nèi)容、結(jié)構(gòu)等進(jìn)行了適當(dāng)修訂、調(diào)整、完善和補(bǔ)充,增加了相應(yīng)的功能,涵蓋了碩士研究生數(shù)據(jù)結(jié)構(gòu)考試大綱所規(guī)定的考試內(nèi)容。

      全書內(nèi)容共分11章,第1章介紹數(shù)據(jù)結(jié)構(gòu)與算法等一些基本術(shù)語(yǔ),并對(duì)算法描述及算法分析作了簡(jiǎn)單說明,介紹衡量算法優(yōu)劣的主要因素:時(shí)間復(fù)雜度和空間復(fù)雜度的求法;第2章到第4章,介紹線性結(jié)構(gòu)(線性表、棧、隊(duì)列、串)的邏輯特征、一些常用算法的實(shí)現(xiàn)及基本應(yīng)用;第5章到第7章,介紹非線性結(jié)構(gòu)(多維數(shù)組、廣義表、樹、二叉樹、圖)的邏輯特征、在計(jì)算機(jī)中的存儲(chǔ)表示及一些常用算法的實(shí)現(xiàn)及基本應(yīng)用;第8章到第10章,介紹在計(jì)算機(jī)中使用非常廣泛的兩種運(yùn)算:查找和排序,排序又可以分為內(nèi)排序和外排序。對(duì)一些常用的查找、排序方法進(jìn)行了詳細(xì)說明,并給出了實(shí)現(xiàn)的算法及時(shí)間復(fù)雜度和空間復(fù)雜度分析;第11章介紹外存的文件的幾種存儲(chǔ)形式及組織方式。各章內(nèi)容有相對(duì)獨(dú)立的部分,可便于不同院校不同專業(yè)按需要組織教學(xué)。全書側(cè)重于數(shù)據(jù)結(jié)構(gòu)的應(yīng)用,力求講授內(nèi)容與具體的計(jì)算機(jī)應(yīng)用實(shí)例相結(jié)合,以便于學(xué)生加深對(duì)各章內(nèi)容的理解和掌握。

      本書的最大特點(diǎn)是采用面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言(C++語(yǔ)言)作為算法的描述語(yǔ)言,所有算法都已經(jīng)上機(jī)調(diào)試通過。但是,由于篇幅所限,大部分算法都是以單獨(dú)的函數(shù)形式給出,若讀者要運(yùn)行這些算法,還必須給出一些變量的說明及主函數(shù)來調(diào)用所給的函數(shù)。因此,本書中的算法描述比原來數(shù)據(jù)結(jié)構(gòu)教材中用類Pascal語(yǔ)言或類C語(yǔ)言描述算法更直觀,學(xué)生更容易理解和接受。作者在十幾年的數(shù)據(jù)結(jié)構(gòu)課程教學(xué)中,對(duì)數(shù)據(jù)結(jié)構(gòu)中的各種算法進(jìn)行了認(rèn)真的研究和分析,在這方面積累了豐富的經(jīng)驗(yàn),因此,本書中所選的例題和習(xí)題都具有一定的針對(duì)性,都是針對(duì)特定的數(shù)據(jù)結(jié)構(gòu)來進(jìn)行描述的,方便學(xué)生理解和接受,并能為復(fù)雜的數(shù)據(jù)結(jié)構(gòu)算法描述架橋鋪路。

      本書中所有算法都在Visual C++ 6.0環(huán)境下運(yùn)行通過(由于篇幅所限,本書中僅給出了實(shí)現(xiàn)某功能算法的函數(shù))。為了方便教學(xué),本書免費(fèi)為授課教師提供用PowerPoint制作的電子教案,教師在使用時(shí)可以根據(jù)需要進(jìn)行必要的修改。

      本書可以作為高等院校計(jì)算機(jī)類或信息類相關(guān)專業(yè)數(shù)據(jù)結(jié)構(gòu)課程教材,建議講授課時(shí)為50至60學(xué)時(shí),上機(jī)實(shí)踐課時(shí)為20至30學(xué)時(shí)。各院校、各位教師可根據(jù)自己學(xué)校的專業(yè)特點(diǎn)和學(xué)生的實(shí)際情況適當(dāng)增刪,目錄中前面打*號(hào)的可以作為選講內(nèi)容。

      與本書配套的《數(shù)據(jù)結(jié)構(gòu)(C++版)(第二版)習(xí)題解答及實(shí)訓(xùn)指導(dǎo)》一書同時(shí)出版,其中提供配套的習(xí)題及解答,并配備有數(shù)據(jù)結(jié)構(gòu)的上機(jī)實(shí)驗(yàn)指導(dǎo),可以作為學(xué)習(xí)指導(dǎo)手冊(cè)。

      本書由李根強(qiáng)任主編,負(fù)責(zé)全書的統(tǒng)稿、修改、定稿工作,倪飛舟、鐘志水、郭清溥任副主編。主要編寫人員分工如下:史瑞芳編寫了第1、11章,倪飛舟編寫了第2、3章,鐘志水編寫了第4、5章,李根強(qiáng)編寫了第6~8章,郭清溥編寫9、10章。參考本書部分編寫工作的還有:王剛、汪貴生、姚?、謝月娥、蔡益紅、杜四春、銀紅霞、袁雋媛、秦志、滿淑穎、杜景紅等。

      由于時(shí)間倉(cāng)促及編者水平有限,書中不妥或錯(cuò)誤之處在所難免,懇請(qǐng)專家和廣大讀者批評(píng)指正。

    第二版前言
    第一版前言
     
    第1章  緒論 1
    1.1  什么是數(shù)據(jù)結(jié)構(gòu) 1
    1.1.1  數(shù)據(jù)結(jié)構(gòu)示例 1
    1.1.2  基本術(shù)語(yǔ) 2
    1.1.3  數(shù)據(jù)結(jié)構(gòu) 3
    1.2  算法描述 5
    1.2.1  基本概念 5
    1.2.2  算法描述 5
    1.3  算法分析 6
    1.3.1  時(shí)間復(fù)雜度 7
    1.3.2  空間復(fù)雜度 8
    本章小結(jié) 8
    習(xí)題1 9
    第2章  線性表 14
    2.1  線性表的定義及其運(yùn)算 14
    2.1.1  線性表的定義 14
    2.1.2  線性表的運(yùn)算 15
    2.1.3  線性表的抽象數(shù)據(jù)類型描述 15
    2.2  線性表的順序存儲(chǔ)結(jié)構(gòu) 16
    2.2.1  順序表結(jié)構(gòu) 16
    2.2.2  順序表運(yùn)算 17
    2.2.3  順序表存儲(chǔ)空間的動(dòng)態(tài)分配 20
    2.3  線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu) 21
    2.3.1  單鏈表結(jié)構(gòu) 21
    2.3.2  單鏈表運(yùn)算 22
    2.3.3  循環(huán)鏈表結(jié)構(gòu) 27
    2.3.4  雙向鏈表結(jié)構(gòu) 29
    2.4  一元多項(xiàng)式的表示及相加 31
    2.4.1  一元多項(xiàng)式的表示 31
    2.4.2  一元多項(xiàng)式的相加 32
    2.5  順序表與鏈表的比較 34
    2.6  算法應(yīng)用舉例 35
    本章小結(jié) 37
    習(xí)題2 38
    第3章  棧和隊(duì)列 40
    3.1  棧 40
    3.1.1  棧的定義 40
    3.1.2  棧的運(yùn)算 41
    3.1.3  棧的抽象數(shù)據(jù)類型描述 41
    3.1.4  順序棧 41
    3.1.5  鏈棧 45
    3.1.6  棧的應(yīng)用 46
    3.2  隊(duì)列 52
    3.2.1  隊(duì)列的定義 52
    3.2.2  隊(duì)列的基本運(yùn)算 52
    3.2.3  隊(duì)列的抽象數(shù)據(jù)類型描述 52
    3.2.4  循環(huán)隊(duì)列 53
    3.2.5  鏈隊(duì)列 56
    3.2.6  隊(duì)列的應(yīng)用 58
    本章小結(jié) 58
    習(xí)題3 58
    第4章  串 61
    4.1  串的定義及運(yùn)算 61
    4.1.1  基本概念 61
    4.1.2  串的運(yùn)算 62
    4.1.3  串的抽象數(shù)據(jù)類型描述 62
    4.2  串的存儲(chǔ)結(jié)構(gòu) 62
    4.2.1  順序存儲(chǔ) 62
    4.2.2  鏈?zhǔn)酱鎯?chǔ) 64
    4.2.3  索引存儲(chǔ) 65
    4.3  串運(yùn)算的實(shí)現(xiàn) 65
    4.3.1  串插入 65
    4.3.2  串刪除 67
    4.3.3  子串定位 68
    4.4  串操作應(yīng)用舉例 70
    4.4.1  文本編輯 70
    4.4.2  建立詞索引表 72
    本章小結(jié) 72
    習(xí)題4 72
    第5章  多維數(shù)組和廣義表 74
    5.1  多維數(shù)組 74
    5.1.1  多維數(shù)組的概念 74
    5.1.2  多維數(shù)組在計(jì)算機(jī)內(nèi)的存儲(chǔ) 75
    5.2  多維數(shù)組的存儲(chǔ)結(jié)構(gòu) 75
    5.2.1  行優(yōu)先順序 75
    5.2.2  列優(yōu)先順序 76
    5.3  特殊矩陣及其壓縮存儲(chǔ) 76
    5.3.1  特殊矩陣 76
    5.3.2  壓縮存儲(chǔ) 77
    5.4  稀疏矩陣 79
    5.4.1  稀疏矩陣的存儲(chǔ) 80
    5.4.2  稀疏矩陣的運(yùn)算 82
    5.5  廣義表 91
    5.5.1  基本概念 91
    5.5.2  存儲(chǔ)結(jié)構(gòu) 92
    5.5.3  基本運(yùn)算 94
    本章小結(jié) 96
    習(xí)題5 96
    第6章  樹和二叉樹 99
    6.1  樹的基本概念 99
    6.1.1  樹的定義 99
    6.1.2  基本術(shù)語(yǔ) 100
    6.1.3  樹的表示 101
    6.1.4  樹的性質(zhì) 102
    6.2  二叉樹 102
    6.2.1  二叉樹的定義 102
    6.2.2   二叉樹的性質(zhì) 103
    6.2.3  二叉樹的存儲(chǔ)結(jié)構(gòu) 105
    6.2.4   二叉樹的抽象數(shù)據(jù)類型 108
    6.3  遍歷二叉樹 108
    6.3.1  前根遍歷 109
    6.3.2  中根遍歷 110
    6.3.3  后根遍歷 111
    6.3.4  遍歷算法應(yīng)用舉例 113
    6.4  線索二叉樹 117
    6.4.1  線索的概念 117
    6.4.2  線索的描述 118
    6.4.3  線索的算法實(shí)現(xiàn) 120
    6.4.4  線索二叉樹上的運(yùn)算 120
    6.5  樹和森林 123
    6.5.1  樹的存儲(chǔ)結(jié)構(gòu) 123
    6.5.2  樹、森林和二叉樹的轉(zhuǎn)換 125
    6.5.3  樹和森林的遍歷 127
    6.6  回溯法與樹的遍歷 128
    6.7  哈夫曼樹 129
    6.7.1  基本術(shù)語(yǔ) 129
    6.7.2  哈夫曼樹簡(jiǎn)介 129
    6.7.3  哈夫曼樹的應(yīng)用 133
    本章小結(jié) 133
    習(xí)題6 134
    第7章  圖 137
    7.1  圖的基本概念 137
    7.1.1  圖的定義 137
    7.1.2  圖的基本術(shù)語(yǔ) 137
    7.2  圖的存儲(chǔ)結(jié)構(gòu) 140
    7.2.1  鄰接矩陣 140
    7.2.2  鄰接表 143
    7.2.3  鄰接多重表 147
    7.3  圖的遍歷 148
    7.3.1  深度優(yōu)先搜索遍歷 148
    7.3.2  廣度優(yōu)先搜索遍歷 153
    7.4  生成樹和最小生成樹 157
    7.4.1  基本概念 157
    7.4.2  普里姆(prim)算法 158
    7.4.3  克魯斯卡爾(kruskal)算法 161
    7.5  最短路徑 164
    7.5.1  單源點(diǎn)最短路徑 164
    7.5.2  所有頂點(diǎn)對(duì)之間的最短路徑 167
    7.6  有向無環(huán)圖及其應(yīng)用 170
    7.6.1  拓?fù)渑判?nbsp;171
    7.6.2  關(guān)鍵路徑 175
    本章小結(jié) 179
    習(xí)題7 180
    第8章  查找 183
    8.1  查找的基本概念 183
    8.2  線性表的查找 184
    8.2.1  順序查找 184
    8.2.2  二分查找 185
    8.2.3  索引查找 188
    8.2.4  分塊查找 192
    8.3  樹表查找 193
    8.3.1  二叉排序樹查找 193
    8.3.2  平衡二叉樹查找 198
    8.3.3  B樹及B樹上的查找 202
    8.3.4  鍵樹 204
    8.4  散列查找 204
    8.4.1  基本概念 204
    8.4.2  散列函數(shù)的構(gòu)造 205
    8.4.3  解決沖突的方法 207
    8.4.4  散列查找算法的實(shí)現(xiàn) 210
    8.4.5  散列查找的性能分析 212
    本章小結(jié) 214
    習(xí)題8 215
    第9章  內(nèi)排序 216
    9.1  基本概念 216
    9.1.1  排序介紹 216
    9.1.2  基本概念 217
    9.2  插入排序 218
    9.2.1  直接插入排序 218
    9.2.2  二分插入排序 219
    9.2.3  希爾排序 220
    9.3  交換排序 221
    9.3.1  冒泡排序 221
    9.3.2  快速排序 223
    9.4  選擇排序 225
    9.4.1  直接選擇排序 225
    9.4.2  樹型選擇排序 226
    9.4.3  堆排序 227
    9.5  歸并排序 232
    9.5.1  二路歸并排序 232
    9.5.2  多路歸并排序 234
    9.6  分配排序 234
    9.6.1  多關(guān)鍵字排序 234
    9.6.2  鏈?zhǔn)交鶖?shù)排序 235
    9.7  各種內(nèi)排序方法的比較和選擇 238
    9.7.1  各種內(nèi)排序方法的比較 238
    9.7.2  各種內(nèi)排序方法的選擇 238
    本章小結(jié) 239
    習(xí)題9 239
    第10章  外排序 241
    10.1  外排序的基本概念 241
    10.2  多路平衡歸并的實(shí)現(xiàn) 242
    10.2.1  初始?xì)w并段的生成 242
    10.2.2  多路平衡歸并的實(shí)現(xiàn) 244
    本章小結(jié) 249
    習(xí)題10 249
    第11章  文件 250
    11.1  文件的基本概念 250
    11.2  順序文件 250
    11.3  索引文件 251
    11.4  ISAM文件和VSAM文件 252
    11.4.1  ISAM文件 252
    11.4.2  VSAM文件 253
    11.5  散列文件 253
    11.6  多關(guān)鍵字文件 254
    11.6.1  多重表文件 255
    11.6.2  倒排文件 256
    本章小結(jié) 256
    習(xí)題11 257
    參考文獻(xiàn) 258
最新評(píng)論共有 0 位網(wǎng)友發(fā)表了評(píng)論
發(fā)表評(píng)論
評(píng)論內(nèi)容:不能超過250字,需審核,請(qǐng)自覺遵守互聯(lián)網(wǎng)相關(guān)政策法規(guī)。
用戶名: 密碼:
匿名?
注冊(cè)
益阳市| 准格尔旗| 阳曲县| 仁化县| 隆回县| 石渠县| 策勒县| 昭觉县| 阿荣旗| 安达市| 浑源县| 新乡市| 太仓市| 达州市| 柳河县| 曲麻莱县| 武汉市| 林西县| 华宁县| 钟祥市| 卢龙县| 茶陵县| 邯郸市| 茌平县| 融水| 岳西县| 阿克苏市| 西平县| 麻江县| 永登县| 武夷山市| 泸水县| 平安县| 汉寿县| 景德镇市| 鲁甸县| 玉门市| 怀安县| 沈阳市| 明水县| 佳木斯市|