注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡數(shù)據(jù)庫零基礎學數(shù)據(jù)結構(第2版)

零基礎學數(shù)據(jù)結構(第2版)

零基礎學數(shù)據(jù)結構(第2版)

定 價:¥79.00

作 者: 陳銳 成建設等著
出版社: 機械工業(yè)出版社
叢編項: 零基礎學編程
標 簽: 暫缺

ISBN: 9787111468615 出版時間: 2014-06-01 包裝: 平裝
開本: 16開 頁數(shù): 448 字數(shù):  

內容簡介

  數(shù)據(jù)結構是計算機專業(yè)的專業(yè)基礎課和核心課程。本書內容全面,語言通俗易懂,案例典型、豐富,結構清晰,重難點突出,所有算法都有完整程序,能直接運行?!读慊A學編程:零基礎學數(shù)據(jù)結構(第2版)》內容包括數(shù)據(jù)結構概述、常用的C程序開發(fā)環(huán)境、線性表、棧、隊列、串、數(shù)組、廣義表、樹、圖、查找及排序。本書可作為學習數(shù)據(jù)結構與算法、從事計算機軟件開發(fā)、準備考取計算機專業(yè)研究生和參加軟考的人員的參考書,也可以作為計算機及相關專業(yè)的數(shù)據(jù)結構課程教材。

作者簡介

  陳銳,國家高級程序員、CCF會員、CSDN大本營講師,畢業(yè)于西北大學計算機應用技術專業(yè)。主要研究方向:自然語言處理、數(shù)據(jù)結構與算法,擅長C、C++、VisualBasic、VisualFoxPro和SQLServer,在《計算機工程與應用》和《計算機應用》上發(fā)表中文核心期刊論文多篇,出版作品有《零基礎學數(shù)據(jù)結構》、《C語言入門與提高》、《C語言從入門到精通》、《C語言程序設計》和《Java程序設計》。

圖書目錄

目  錄    
前言
第一篇  基礎知識
第1章  數(shù)據(jù)結構概述 1
1.1  為什么要學習數(shù)據(jù)結構 1
1.2  基本概念和術語 2
1.3  數(shù)據(jù)的邏輯結構與存儲結構 4
1.3.1  邏輯結構 4
1.3.2  存儲結構 4
1.4  抽象數(shù)據(jù)類型及其描述 5
1.4.1  什么是抽象數(shù)據(jù)類型 5
1.4.2  抽象數(shù)據(jù)類型的描述 6
1.5  算法 8
1.5.1  數(shù)據(jù)結構與算法的關系 8
1.5.2  什么是算法 8
1.5.3  算法的五大特性 9
1.5.4  算法的描述 9
1.6  算法分析 10
1.6.1  算法設計的4個目標 11
1.6.2  算法效率評價 11
1.6.3  算法的時間復雜度 12
1.6.4  算法的空間復雜度 14
1.7  學好數(shù)據(jù)結構的秘訣 14
1.8  習題 15
第2章  C語言基礎 17
2.1  C語言開發(fā)環(huán)境 17
2.1.1  Turbo C 2.0開發(fā)環(huán)境 17
2.1.2  Visual C++ 6.0開發(fā)環(huán)境 19
2.2  遞歸與非遞歸 22
2.2.1  函數(shù)的遞歸調用 22
2.2.2  遞歸應用舉例 23
2.2.3  迭代與遞歸 26
2.3  指針 27
2.3.1  什么是指針 27
2.3.2  指針變量的間接引用 28
2.3.3  指針與數(shù)組 29
2.3.4  指針函數(shù)與函數(shù)指針 34
2.4  參數(shù)傳遞 40
2.4.1  傳值調用 40
2.4.2  傳地址調用 42
2.5  結構體與聯(lián)合體 44
2.5.1  結構體的定義 45
2.5.2  指向結構體的指針 47
2.5.3  用typedef定義數(shù)據(jù)類型 48
2.5.4  聯(lián)合體 49
2.6  鏈表 54
2.6.1  內存的動態(tài)分配與釋放 54
2.6.2  什么是鏈表 55
2.6.3  創(chuàng)建鏈表 55
2.6.4  鏈表的輸出操作 58
2.6.5  鏈表的插入操作 60
2.6.6  鏈表的刪除操作 64
2.6.7  鏈表的綜合操作 66
2.6.8  鏈表應用舉例:一元多項式的相加 67
2.7  小結 73
2.8  習題 74
第二篇  線性數(shù)據(jù)結構
第3章  線性表 77
3.1  線性表的定義及抽象數(shù)據(jù)類型 77
3.1.1  線性表的邏輯結構 77
3.1.2  線性表的抽象數(shù)據(jù)類型 78
3.2  線性表的順序表示與實現(xiàn) 79
3.2.1  線性表的順序存儲結構 79
3.2.2  順序表的基本運算 80
3.2.3  順序表的實現(xiàn)算法分析 83
3.2.4  順序表的優(yōu)缺點 83
3.2.5  順序表應用舉例 84
3.3  線性表的鏈式表示與實現(xiàn) 89
3.3.1  單鏈表的存儲結構 90
3.3.2  單鏈表上的基本運算 91
3.3.3  單鏈表存儲結構與順序存儲結構的優(yōu)缺點 96
3.3.4  單鏈表應用舉例 97
3.4  循環(huán)單鏈表 104
3.4.1  循環(huán)鏈表的鏈式存儲 104
3.4.2  循環(huán)單鏈表應用舉例 106
3.5  雙向鏈表 108
3.5.1  雙向鏈表的存儲結構 108
3.5.2  雙向鏈表的插入和刪除操作 109
3.5.3  雙向鏈表應用舉例 111
3.6  靜態(tài)鏈表 113
3.6.1  靜態(tài)鏈表的存儲結構 114
3.6.2  靜態(tài)鏈表的基本運算 114
3.6.3  靜態(tài)鏈表應用舉例 117
3.7  綜合案例:一元多項式的表示與相乘 118
3.7.1  一元多項式的表示 118
3.7.2  一元多項式相乘 119
3.8  小結 123
3.9  習題 123
第4章  棧 127
4.1  棧的定義與抽象數(shù)據(jù)類型 127
4.1.1  什么是棧 127
4.1.2  棧的抽象數(shù)據(jù)類型 128
4.2  棧的順序表示與實現(xiàn) 128
4.2.1  棧的順序存儲結構 128
4.2.2  順序棧的基本運算 129
4.2.3  順序棧應用舉例 131
4.3  棧的鏈式表示與實現(xiàn) 136
4.3.1  棧的鏈式存儲結構 137
4.3.2  鏈棧的基本運算 137
4.3.3  鏈棧應用舉例 140
4.4  棧的典型應用 141
4.4.1  括號匹配 141
4.4.2  求算術表達式的值 144
4.4.3  迷宮求解 151
4.5  棧與遞歸 156
4.5.1  遞歸 156
4.5.2  消除遞歸 160
4.6  小結 162
4.7  習題 163
第5章  隊列 165
5.1  隊列的定義與抽象數(shù)據(jù)類型 165
5.1.1  什么是隊列 165
5.1.2  隊列的抽象數(shù)據(jù)類型 165
5.2  隊列的順序存儲及實現(xiàn) 166
5.2.1  順序隊列的表示 166
5.2.2  順序隊列的“假溢出” 167
5.2.3  順序循環(huán)隊列的表示 167
5.2.4  順序循環(huán)隊列的基本運算 169
5.2.5  順序循環(huán)隊列舉例 170
5.3  隊列的鏈式存儲及實現(xiàn) 172
5.3.1  鏈式隊列的表示 172
5.3.2  鏈式隊列的基本運算 173
5.3.3  鏈式隊列舉例 175
5.4  雙端隊列 179
5.4.1  什么是雙端隊列 179
5.4.2  雙端隊列的應用 179
5.5  綜合案例:動畫模擬停車場管理系統(tǒng) 181
5.6  小結 194
5.7  習題 194
第6章  串 197
6.1  串的定義及抽象數(shù)據(jù)類型 197
6.1.1  什么是串 197
6.1.2  串的抽象數(shù)據(jù)類型 198
6.2  串的順序表示與實現(xiàn) 199
6.2.1  串的順序存儲結構 199
6.2.2  順序串的基本運算 200
6.2.3  順序串應用舉例 203
6.3  串的堆分配表示與實現(xiàn) 205
6.3.1  堆分配的存儲結構 205
6.3.2  堆串的基本運算 205
6.4  串的塊鏈式存儲表示與實現(xiàn) 208
6.4.1  串的塊鏈式存儲結構 208
6.4.2  塊鏈串的基本運算 209
6.5  串的模式匹配 212
6.5.1  樸素模式匹配算法——Brute-Force 212
6.5.2  KMP算法 214
6.5.3  模式匹配應用舉例 219
6.6  小結 223
6.7  習題 224
第7章  數(shù)組 226
7.1  數(shù)組的定義及抽象數(shù)據(jù)類型 226
7.1.1  重新認識數(shù)組 226
7.1.2  數(shù)組的抽象數(shù)據(jù)類型 227
7.2  數(shù)組的順序表示與實現(xiàn) 227
7.2.1  數(shù)組的順序存儲結構 227
7.2.2  數(shù)組的基本運算 229
7.2.3  數(shù)組應用舉例 231
7.3  特殊矩陣的壓縮存儲 233
7.3.1  對稱矩陣的壓縮存儲 233
7.3.2  三角矩陣的壓縮存儲 233
7.3.3  對角矩陣的壓縮存儲 235
7.4  稀疏矩陣的壓縮存儲 236
7.4.1  什么是稀疏矩陣 236
7.4.2  稀疏矩陣抽象數(shù)據(jù)類型 236
7.4.3  稀疏矩陣的三元組表示 236
7.4.4  稀疏矩陣的三元組實現(xiàn) 237
7.5  稀疏矩陣應用舉例 241
7.5.1  三元組表示的稀疏矩陣相加 241
7.5.2  三元組表示的稀疏矩陣相乘 244
7.6  稀疏矩陣的十字鏈表表示與實現(xiàn) 249
7.6.1  稀疏矩陣的十字鏈表表示 249
7.6.2  十字鏈表的基本運算 250
7.7  小結 252
7.8  習題 252
第8章  廣義表 254
8.1  廣義表的定義及抽象數(shù)據(jù)類型 254
8.1.1  什么是廣義表 254
8.1.2  廣義表的抽象數(shù)據(jù)類型 255
8.2  廣義表的頭尾鏈表表示與實現(xiàn) 255
8.2.1  廣義表的頭尾鏈表存儲結構 255
8.2.2  廣義表的基本運算 256
8.2.3  廣義表應用舉例(采用頭尾鏈表存儲結構) 259
8.3  廣義表的擴展線性鏈表表示與實現(xiàn) 263
8.3.1  廣義表的擴展線性鏈表存儲結構 263
8.3.2  廣義表的基本運算 264
8.3.3  廣義表應用舉例(擴展線性鏈表存儲結構) 266
8.4  小結 269
8.5  習題 269
第三篇  非線性數(shù)據(jù)結構
第9章  樹 271
9.1  樹的相關概念及抽象數(shù)據(jù)類型 271
9.1.1  什么是樹 271
9.1.2  樹的相關概念 272
9.1.3  樹的邏輯表示 272
9.1.4  樹的抽象數(shù)據(jù)類型 273
9.1.5  樹的存儲結構 274
9.2  二叉樹的相關概念及抽象數(shù)據(jù)類型 277
9.2.1  什么是二叉樹 277
9.2.2  二叉樹的性質 277
9.2.3  二叉樹的抽象數(shù)據(jù)類型 280
9.3  二叉樹的存儲表示與實現(xiàn) 281
9.3.1  二叉樹的順序存儲 281
9.3.2  二叉樹的鏈式存儲 282
9.3.3  二叉樹的基本運算 282
9.4  遍歷二叉樹 285
9.4.1  什么是遍歷二叉樹 285
9.4.2  遍歷二叉樹 286
9.4.3  非遞歸遍歷二叉樹——基于棧的遞歸消除 288
9.5  遍歷二叉樹的應用 290
9.5.1  按層次輸出二叉樹 290
9.5.2  二叉樹的計數(shù) 291
9.5.3  求葉子結點的最大最小枝長 293
9.5.4  判斷兩棵二叉樹是否相似 294
9.5.5  交換二叉樹的左右子樹 294
9.5.6  求根結點到r結點之間的路徑 294
9.6  線索二叉樹 296
9.6.1  什么是線索化二叉樹 296
9.6.2  線索二叉樹 297
9.6.3  遍歷線索二叉樹 298
9.6.4  線索二叉樹應用舉例 300
9.7  樹、森林與二叉樹 304
9.7.1  樹轉換為二叉樹 304
9.7.2  森林轉換為二叉樹 305
9.7.3  二叉樹轉換為樹和森林 306
9.7.4  樹和森林的遍歷 306
9.7.5  樹與二叉樹應用舉例 307
9.8  綜合案例:哈夫曼樹 320
9.8.1  什么是哈夫曼樹 320
9.8.2  哈夫曼編碼 322
9.8.3  哈夫曼編碼算法的實現(xiàn) 322
9.9  小結 326
9.10  習題 327
第10章  圖 330
10.1  圖的定義與相關概念 330
10.1.1  什么是圖 330
10.1.2  圖的相關概念 331
10.1.3  圖的抽象數(shù)據(jù)類型 333
10.2  圖的存儲結構 334
10.2.1  鄰接矩陣(數(shù)組表示法) 334
10.2.2  鄰接表 338
10.2.3  十字鏈表 343
10.2.4  鄰接多重鏈表 344
10.3  圖的遍歷 345
10.3.1  圖的深度優(yōu)先搜索 345
10.3.2  圖的廣度優(yōu)先搜索 348
10.4  圖的連通性問題 349
10.4.1  無向圖的連通分量與最小生成樹 349
10.4.2  最小生成樹 351
10.5  有向無環(huán)圖 359
10.5.1  AOV網(wǎng)與拓撲排序 360
10.5.2  AOE網(wǎng)與關鍵路徑 362
10.6  最短路徑 367
10.6.1  從某個頂點到其余各頂點的最短路徑 367
10.6.2  每一對頂點之間的最短路徑 372
10.6.3  最短路徑應用舉例 374
10.7  圖的應用舉例 375
10.8  小結 383
10.9  習題 383
第四篇  查找與排序
第11章  查找 387
11.1  基本概念 387
11.2  靜態(tài)查找 388
11.2.1  順序表的查找 388
11.2.2  有序順序表的查找 389
11.2.3  索引順序表的查找 391
11.2.4  靜態(tài)查找應用舉例 393
11.3  動態(tài)查找 395
11.3.1  二叉排序樹 395
11.3.2  平衡二叉樹 402
11.4  B-樹與B+樹 408
11.4.1  B-樹 408
11.4.2  B+樹 415
11.5  哈希表 415
11.5.1  什么是哈希表 416
11.5.2  哈希函數(shù)的構造方法 416
11.5.3  處理沖突的方法 417
11.5.4  哈希表應用舉例 419
11.6  小結 422
11.7  習題 423
第12章  內排序 425
12.1  基本概念 425
12.2  插入排序 426
12.2.1  直接插入排序 426
12.2.2  折半插入排序 428
12.2.3  希爾排序 430
12.2.4  插入排序應用舉例 431
12.3  交換排序 434
12.3.1  冒泡排序 434
12.3.2  快速排序 437
12.3.3  交換排序應用舉例 439
12.4  選擇排序 442
12.4.1  簡單選擇排序 443
12.4.2  堆排序 444
12.4.3  選擇排序應用舉例 448
12.5  歸并排序 451
12.5.1  2路歸并排序算法 452
12.5.2  歸并排序應用舉例 453
12.6  基數(shù)排序 455
12.6.1  基數(shù)排序算法 455
12.6.2  基數(shù)排序應用舉例 458
12.7  小結 462
12.8  習題 462
第13章  外排序 464
13.1  外存的存取特性 464
13.2  磁盤排序 465
13.2.1  歸并排序的基本方法 466
13.2.2  多路歸并排序 467
13.3  磁帶排序 468
13.3.1  2路歸并排序 468
13.3.2  多路非平衡歸并排序 469
13.4  小結 470
參考文獻 471

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.dappsexplained.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號