注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計JAVA及其相關(guān)數(shù)據(jù)結(jié)構(gòu)與算法(Java版)

數(shù)據(jù)結(jié)構(gòu)與算法(Java版)

數(shù)據(jù)結(jié)構(gòu)與算法(Java版)

定 價:¥56.00

作 者: 杜蘭克
出版社: 清華大學(xué)
叢編項: 國外經(jīng)典教材·計算機科學(xué)與技術(shù)
標(biāo) 簽: 數(shù)據(jù)結(jié)構(gòu)

ISBN: 9787302137986 出版時間: 2006-10-01 包裝: 平裝
開本: 16 頁數(shù): 436 字數(shù):  

內(nèi)容簡介

  本書提供了學(xué)習(xí)經(jīng)典數(shù)據(jù)結(jié)構(gòu)和算法的新方法。通過帶有完整工作代碼的詳細示例清晰、透徹地解釋了全書內(nèi)容。擲骰子、紙牌和棋盤游戲提供了大量新穎、迷人的示例。本書首先透徹介紹了面向?qū)ο蟪绦蛟O(shè)計。利用這些工具,讀者可以深入探究線性數(shù)據(jù)結(jié)構(gòu)、算法(包括漸近表示法和遞歸)、樹、集合和高級主題,如圖和內(nèi)存管理。本書主要特點:在全書中使用Java 1.5的新特性,如泛型類型;使用行業(yè)標(biāo)準(zhǔn)統(tǒng)一建模語言來繪制類圖和實例圖;包含數(shù)百個習(xí)題、復(fù)習(xí)題和項目;本書給出了所有代碼半均可在線獲得。

作者簡介

  本書提供作譯者介紹Peter Drake是俄勒岡州波特蘭市路易斯-克拉克學(xué)院計算機科學(xué)的助理教授-他的興趣包括數(shù)據(jù)結(jié)構(gòu)和人工智能。研究范圍包括機器學(xué)習(xí),它適用于經(jīng)典的亞洲游戲Go。...

圖書目錄

第I部分  面向?qū)ο蟪绦蛟O(shè)計
第1章  封裝
1.1  軟件開發(fā)    2
1.1.1  良好的程序    2
1.1.2  封裝    3
1.1.3  軟件開發(fā)周期    5
習(xí)題    6
1.2  類和對象    7
1.2.1  類    7
1.2.2  對象、字段和方法    8
1.2.3  構(gòu)造函數(shù)    9
1.2.4  訪問器、修改器和this    11
1.2.5  靜態(tài)與非靜態(tài)    12
1.2.6  完成Die類    13
習(xí)題    14
1.3  使用對象    14
1.3.1  Beetle類    14
1.3.2  toString()方法    15
1.3.3  BeetleGame類    19
習(xí)題    24
1.4  小結(jié)    24
1.5  術(shù)語    25
1.6  復(fù)習(xí)題    26
1.7  項目    27
第2章  多態(tài)性
2.1  引用類型    29
2.1.1  null    30
2.1.2  引用和相等性    30
2.1.3  多態(tài)類型對象    31
2.1.4  基本類型和包裝器    33
2.1.5  String    33
習(xí)題    34
2.2  數(shù)組    34
2.2.1  聲明、分配和初始化    34
2.2.2  多維數(shù)組    35
2.2.3  示例:Domineering    37
習(xí)題    42
2.3  接口    43
習(xí)題    47
2.4  重載    47
習(xí)題    48
2.5  小結(jié)    48
2.6  術(shù)語    49
2.7  復(fù)習(xí)題    50
2.8  項目    50
第3章  繼承
3.1  擴展類    53
3.1.1  多態(tài)性和繼承    55
3.1.2  繼承鏈    57
3.1.3  is-a和has-a    58
習(xí)題    60
3.2  Object類    61
3.2.1  Object類的方法    61
3.2.2  隱式構(gòu)造函數(shù)    62
習(xí)題    62
3.3  包和訪問級別    63
訪問級別    64
習(xí)題    65
3.4  小結(jié)    65
3.5  術(shù)語    66
3.6  復(fù)習(xí)題    66
3.7  項目    66
第Ⅱ部分  線 性 結(jié) 構(gòu)
第4章  棧和隊列
4.1  Stack接口    70
4.1.1  泛型    71
4.1.2  示例:Idiot's Delight    72
習(xí)題    77
4.2  調(diào)用棧    78
習(xí)題    80
4.3  異常    80
習(xí)題    86
4.4  Queue接口    86
習(xí)題    91
4.5  小結(jié)    91
4.6  術(shù)語    91
4.7  復(fù)習(xí)題    92
4.8  項目    93
第5章  基于數(shù)組的結(jié)構(gòu)
5.1  收縮和加長數(shù)組    95
5.1.1  Card類    96
5.1.2  收縮數(shù)組    97
5.1.3  加長數(shù)組    100
習(xí)題    101
5.2  實現(xiàn)棧和隊列    101
5.2.1  ArrayStack類    101
5.2.2  ArrayQueue類    103
習(xí)題    105
5.3  List接口    106
5.3.1  接口    106
5.3.2  ArrayList類    107
習(xí)題    110
5.4  迭代器    111
5.4.1  Iterator接口    111
5.4.2  Iterable接口    112
5.4.3  ArrayIterator類    112
5.4.4  示例:Go Fish    114
習(xí)題    120
5.5  初識Java集合框架    121
抽象類    121
習(xí)題    122
5.6  小結(jié)    123
5.7  術(shù)語    123
5.8  復(fù)習(xí)題    123
5.9  項目    124
第6章  鏈表結(jié)構(gòu)
6.1  表節(jié)點    125
習(xí)題    128
6.2  棧和隊列    128
6.2.1  LinkedStack類    128
6.2.2  LinkedQueue類    131
習(xí)題    133
6.3  LinkedList類    134
6.3.1  Predecessor接口    136
6.3.2  兩指算法    138
6.3.3  ListIterator類    139
習(xí)題    140
6.4  再論Java集合框架    141
習(xí)題    142
6.5  小結(jié)    142
6.6  術(shù)語    142
6.7  復(fù)習(xí)題    143
6.8  項目    143
第Ⅲ部分  算法
第7章  算法分析
7.1  計時    146
習(xí)題    148
7.2  漸近表示法    148
習(xí)題    152
7.3  統(tǒng)計步驟數(shù)    153
習(xí)題    157
7.4  最好、最壞和平均情況    157
習(xí)題    158
7.5  平攤分析    159
習(xí)題    160
7.6  小結(jié)    160
7.7  術(shù)語    161
7.8  復(fù)習(xí)題    161
7.9  項目    162
第8章  查找和排序
8.1  線性查找    163
習(xí)題    164
8.2  折半查找    164
8.2.1  折半查找分析    165
8.2.2  假定n是2的冪    166
習(xí)題    167
8.3  插入排序    167
習(xí)題    169
8.4  Comparable接口    170
習(xí)題    173
8.5  排序鏈表    173
習(xí)題    174
8.6  小結(jié)    174
8.7  術(shù)語    175
8.8  復(fù)習(xí)題    175
8.9  項目    176
第9章  遞歸
9.1  遞歸地思考    177
習(xí)題    183
9.2  分析遞歸算法    183
習(xí)題    186
9.3  歸并排序    186
歸并排序分析    189
習(xí)題    189
9.4  快速排序    190
快速排序分析    192
習(xí)題    193
9.5  避免遞歸    193
9.5.1  尾部遞歸    194
9.5.2  動態(tài)規(guī)劃    195
習(xí)題    197
9.6  小結(jié)    197
9.7  術(shù)語    198
9.8  復(fù)習(xí)題    198
9.9  項目    200
第Ⅳ部分  樹和集合
第10章  樹
10.1  二叉樹    202
10.1.1  有關(guān)樹的術(shù)語    203
10.1.2  實現(xiàn)二叉樹    205
習(xí)題    208
10.2  樹的遍歷    210
習(xí)題    213
10.3  廣義樹    213
10.3.1  表示廣義樹    214
10.3.2  示例:智能的Tic Tac Toe玩家    215
習(xí)題    221
10.4  小結(jié)    221
10.5  術(shù)語    221
10.6  復(fù)習(xí)題    223
10.7  項目    223
第11章  集合
11.1  Set接口    224
習(xí)題    229
11.2  有序表    230
11.2.1  查找    232
11.2.2  插入    233
11.2.3  刪除    233
習(xí)題    234
11.3  二叉查找樹    234
11.3.1  查找    235
11.3.2  插入    236
11.3.3  刪除    238
習(xí)題    241
11.4  散列表    242
11.4.1  直接定址法    242
11.4.2  散列函數(shù)和散列碼    244
11.4.3  沖突解決方法    245
11.4.4  查找    248
11.4.5  插入    249
11.4.6  刪除    250
習(xí)題    250
11.5  再論Java集合框架    251
映射    252
習(xí)題    252
11.6  小結(jié)    253
11.7  術(shù)語    253
11.8  復(fù)習(xí)題    254
11.9  項目    255
第Ⅴ部分  高 級 主 題
第12章  高級線性結(jié)構(gòu)
12.1  位向量    258
BitSet    264
習(xí)題    264
12.2  稀疏數(shù)組    265
習(xí)題    267
12.3  多維數(shù)組的連續(xù)表示法    267
習(xí)題    271
12.4  高級查找和排序    271
12.4.1  插值查找    271
12.4.2  比較排序的下界    273
12.4.3  桶排序    273
習(xí)題    275
12.5  小結(jié)    275
12.6  術(shù)語    276
12.7  復(fù)習(xí)題    276
12.8  項目    276
第13章  字符串
13.1  String和StringBuilder    277
習(xí)題    280
13.2  字符串匹配    280
13.2.1  樸素的字符串匹配    282
13.2.2  RK指紋識別算法    283
13.2.3  KMP跳躍算法    285
習(xí)題    289
13.3  小結(jié)    289
13.4  術(shù)語    290
13.5  復(fù)習(xí)題    290
13.6  項目    291
第14章  高級主題
14.1  堆    292
14.1.1  優(yōu)先級隊列    294
14.1.2  堆排序    296
14.1.3  Java的PriorityQueue類    297
習(xí)題    298
14.2  不相交集合簇    298
14.2.1  按高度合并    300
14.2.2  路徑壓縮    301
習(xí)題    302
14.3  數(shù)字查找樹    302
習(xí)題    308
14.4  紅黑樹    308
14.4.1  紅黑樹的性質(zhì)    308
14.4.2  查找    309
14.4.3  插入    309
14.4.4  刪除    311
14.4.5  實現(xiàn)    312
習(xí)題    320
14.5  小結(jié)    320
14.6  術(shù)語    321
14.7  復(fù)習(xí)題    321
14.8  項目    321
第15章  圖
15.1  術(shù)語    323
習(xí)題    327
15.2  表示法    327
習(xí)題    332
15.3  圖的遍歷    332
習(xí)題    334
15.4  拓撲排序    335
習(xí)題    339
15.5  最短路徑    339
15.5.1  Dijkstra的單源點算法    340
15.5.2  Floyd-Warshall所有頂點對算法    341
習(xí)題    342
15.6  最小生成樹    342
習(xí)題    346
15.7  小結(jié)    346
15.8  術(shù)語    346
15.9  復(fù)習(xí)題    348
15.10  項目    348
第16章  內(nèi)存管理
16.1  顯式內(nèi)存管理    350
16.1.1  自由表    352
16.1.2  使用節(jié)點池    356
習(xí)題    358
16.2  自動內(nèi)存管理    358
16.2.1  引用計數(shù)    358
16.2.2  標(biāo)記和清理無用單元收集    359
16.2.3  復(fù)制無用單元收集    359
習(xí)題    365
16.3  小結(jié)    366
16.4  術(shù)語    366
16.5  復(fù)習(xí)題    367
16.6  項目    367
第17章  輸出到磁盤
17.1  與文件交互    368
17.1.1  文本文件    368
17.1.2  數(shù)據(jù)文件    372
習(xí)題    376
17.2  壓縮    376
17.2.1  霍夫曼編碼方式    376
17.2.2  Lempel-Ziv編碼方式    381
習(xí)題    384
17.3  外部排序    384
習(xí)題    389
17.4  B樹    389
17.4.1  查找    390
17.4.2  插入    390
17.4.3  刪除    391
17.4.4  實現(xiàn)    392
習(xí)題    404
17.5  小結(jié)    405
17.6  術(shù)語    405
17.7  復(fù)習(xí)題    406
17.8  項目    406
第Ⅵ部分  附    錄
附錄A  Java知識回顧
A.1  第一個程序    408
A.2  變量和類型    410
A.3  循環(huán)    412
A.4  與用戶交互    414
A.5  分支    414
A.6  方法和中斷    417
A.7  常量    418
A.8  運算符    420
A.9  調(diào)試    423
A.10  編碼約定    424
附錄B  統(tǒng)一建模語言
B.1  類圖    428
B.2  實例圖    431
附錄C  求和公式
C.1  求和符號    433
C.2  常量求和    434
C.3  前n個整數(shù)之和    434
C.4  二等分與加倍之和    435
C.5  函數(shù)之和的上限    435
C.6  常數(shù)因子    436
附錄D  進一步的閱讀材料
D.1  數(shù)據(jù)結(jié)構(gòu)和算法    437
D.2  Java    437
D.3  游戲    437

本目錄推薦

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