注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡軟件與程序設計JAVA及其相關Java軟件結構:設計和使用數據結構

Java軟件結構:設計和使用數據結構

Java軟件結構:設計和使用數據結構

定 價:¥56.00

作 者: (美)John Lewis,(美)Joseph Chase著;任學群譯;任學群譯
出版社: 清華大學出版社
叢編項: 國外經典教材·計算機科學與技術
標 簽: Java

ISBN: 9787302112631 出版時間: 2005-08-01 包裝: 平裝
開本: 26cm 頁數: 443 字數:  

內容簡介

  《Java軟件結構:設計和使用數據結構(第2版)》關注的是數據結構和算法背后的核心設計問題。在展現每種集合時,本書都是先探討該集合的一般概念,接著再討論該集合在問題求解中的用法,最后討論了各種候選實現方案。隨后本書還比較、對比了這些實現方案。這種一致的陳述風格使得學生們更容易體會那些能帶來優(yōu)秀面向對象軟件設計的基本概念。本書特點:·使用Java5.0:本書中每個集合的設計和實現都用到了泛型;泛型是Java編程語言中最近添加的一種強大工具。·關注與面向對象設計:本書前面幾章都著眼于這一重要的主題,隨后它就像一種重復旋律貫穿于本書始末?!ぬ峁┝送暾睦樱罕緯?項新的案例研究,它們探討了一些有趣的軟件系統(tǒng)的面向對象設計和完整實現?!ずw了圖形用戶界面主題:選擇了一些例子,為那些希望涉足圖形用戶界面材料的讀者演示了GUI的開發(fā)。

作者簡介

  .TOP目錄 第1章軟件開發(fā)1.1軟件工程1.2軟件質量1.3開發(fā)生命周期模型1.4統(tǒng)一建模語言(Unified Modeling Language,UML)1.5錯誤處理1.6算法分析1.7軟件工程與數據結構第2章面向對象設計2.1面向對象內容綜述2.2對象的使用2.3類的庫與包2.4狀態(tài)與行為2.5類2.6封裝2.7構造函數2.8方法重載2.9再論引用2.10static(靜態(tài))修飾符2.11包裝類2.12接口2.13繼承2.14類的層次結構2.15多態(tài)2.16泛型2.17異常第3章集合第4章鏈式結構第5章Black Jack第6章堆棧第7章隊列第8章列表第9章計算器第10章遞歸第11章排序和查找第12章樹第13章二叉查找樹第14章祖先樹第15章堆第16章多路查找樹第17章散列(Hashing)第18章圖第19章Web爬蟲工具 TOP 其它信息 裝幀:平裝頁數:443 版次:1開本:16開

圖書目錄

第1章 軟件開發(fā) 1
1.1 軟件工程 1
專業(yè)水準與道德規(guī)范 2
1.2 軟件質量 3
正確性 3
可靠性 3
健壯性 4
可用性 4
可維護性 4
可重用性 5
可移植性 5
效率 6
質量問題 6
1.3 開發(fā)生命周期模型 6
瀑布模型(Waterfall Model) 8
螺旋模型(Spiral Model) 9
演化開發(fā)模型 10
1.4 統(tǒng)一建模語言(Unified Modeling
Language,UML) 10
UML關系 11
1.5 錯誤處理 14
1.6 算法分析 15
增長函數(Growth Function)及
Big O( )記法 15
增長函數的比較 16
循環(huán)執(zhí)行分析 17
嵌套循環(huán) 18
1.7 軟件工程與數據結構 19
第2章 面向對象設計 23
2.1 面向對象內容綜述 23
2.2 對象的使用 24
抽象 24
對象的創(chuàng)建 25
2.3 類的庫與包 26
import(導入)聲明 27
2.4 狀態(tài)與行為 28
2.5 類 29
實例數據 31
2.6 封裝 31
可見性修飾符 32
局部數據 33
2.7 構造函數 34
2.8 方法重載 34
2.9 再論引用 35
空(null)引用 36
this引用 36
別名 38
垃圾回收 39
將對象作為參數傳遞 40
2.10 static(靜態(tài))修飾符 40
靜態(tài)變量 40
靜態(tài)方法 41
2.11 包裝類 41
2.12 接口 42
Comparable接口 44
Iterator接口 44
2.13 繼承 44
派生類 45
protected(保護)修飾符 47
super(超級)引用 47
方法的重寫 48
2.14 類的層次結構 48
Object類 49
抽象類 50
接口的層次結構 51
2.15 多態(tài) 52
引用和類的層次結構 53
基于繼承的多態(tài) 53
基于接口的多態(tài) 55
2.16 泛型 56
2.17 異常 57
異常消息 58
try語句 58
異常傳播 59
異常類的層次結構 60
第3章 集合 66
3.1 集合介紹 66
抽象數據類型 67
Java集合API 69
3.2 set集合 69
接口 70
迭代器 72
異常 72
3.3 使用set:bingo 73
3.4 實現set:利用數組 76
容量的管理 77
3.5 ArraySet類 77
size運算和isEmpty運算 79
add運算 80
addAll運算 82
removeRandom運算 82
remove運算 83
union運算 84
contains運算 85
equals運算 85
iterator運算 86
toString運算 88
UML描述 88
3.6 ArraySet的分析 88
add的分析 89
remove的分析 90
removeRandom的分析 90
addAll的分析 90
find、contains的分析 90
union的分析 90
equals的分析 91
第4章 鏈式結構 94
4.1 用做鏈接的引用 94
4.2 管理鏈表 96
插入節(jié)點 96
刪除節(jié)點 97
啞節(jié)點 98
4.3 沒有鏈接的元素 98
雙向鏈表 99
4.4 實現set:利用鏈接 99
LinkedSet類 100
add運算 102
removeRandom運算 103
remove運算 104
iterator運算 105
4.5 LinkedSet的分析 107
add的分析 107
remove的分析 108
removeRandom的分析 108
第5章 Black Jack 111
5.1 Black Jack游戲 111
5.2 初始設計 111
5.3 實現Black Jack游戲 115
Card類 115
Deck類 117
Hand類 122
BlackJack類 125
BlackJackGUI類 128
BlackJackDemo類 135
第6章 堆棧 137
6.1 堆棧ADT 137
6.2 堆棧的使用:計算后綴表達式
的值 140
6.3 堆棧的使用:穿越迷宮 146
6.4 堆棧的實現:鏈接實現 151
push操作 151
pop操作 152
其他操作 153
6.5 堆棧的實現:數組實現 153
push操作 154
pop操作 154
其他操作 155
6.6 堆棧的實現:java.util.Stack類 156
惟一操作 156
繼承和實現 156
6.7 堆棧實現的分析 157
push操作的分析 157
pop操作的分析 158
第7章 隊列 162
7.1 隊列ADT 162
7.2 使用隊列:代碼密鑰 164
7.3 使用隊列:售票口模擬 167
7.4 使用隊列:基數排序 171
7.5 實現隊列:利用鏈接 175
enqueue運算 175
dequeue運算 176
其他運算 178
7.6 實現隊列:利用數組 178
enqueue運算 178
dequeue運算 179
其他運算 180
7.7 實現隊列:利用環(huán)形數組 181
7.8 分析各種隊列實現 184
enqueue 184
遞增count 184
dequeue 185
第8章 列表 190
8.1 列表ADT(Abstract Data Type,
抽象數據類型) 190
8.2 運用有序列表:錦標賽主辦者 196
8.3 運用索引表:Josephus問題 201
8.4 實現列表:利用數組 203
remove操作 204
Contains操作 206
有序列表的添加(add)操作 206
無序列表的特有操作 207
索引列表的特有操作 207
8.5 實現列表:利用鏈接 208
remove操作 208
雙向鏈表 209
8.6 列表的實現分析 212
有序列表的實現分析 214
無序列表的實現分析 214
索引列表的實現分析 216
第9章 計算器 220
9.1 計算器 220
9.2 初始設計 220
9.3 實現計算器 224
infixToPostfix類 224
listPostfixEvaluator類 228
CalculatorGUI類 230
CalculatorDemo類 235
第10章 遞歸 238
10.1 遞歸地思考 238
無窮遞歸 239
數學中的遞歸 240
10.2 遞歸地編程 240
遞歸與迭代 242
直接遞歸與間接遞歸 243
10.3 使用遞歸 243
游歷迷宮 243
河內塔 247
10.4 分析遞歸算法 251
第11章 排序和查找 256
11.1 查找 256
線性查找法 257
二分查找法 258
查找算法的比較 260
11.2 排序 261
選擇排序法 263
插入排序法 265
冒泡排序法 266
快速排序法 268
歸并排序法 270
第12章 樹 275
12.1 樹 275
樹的分類 276
12.2 樹的實現策略 278
樹的數組實現之計算策略 278
樹的數組實現之模擬鏈接策略 279
樹的分析 279
12.3 樹的遍歷 280
前序遍歷 280
中序遍歷 281
后序遍歷 282
層序遍歷 282
12.4 二叉樹的實現 283
removeLeftSubtree方法 288
find方法 289
iteratorInOrder方法 290
12.5 二叉樹的使用:表達式樹 291
第13章 二叉查找樹 302
13.1 二叉查找樹 302
13.2 實現二叉查找樹:利用鏈接 304
addElement運算 304
removeElement運算 306
removeAllOccurrences運算 309
removeMin運算 310
13.3 使用二叉查找樹:實現有序
列表 310
BinarySearchTreeList實現的
分析 313
13.4 平衡二叉查找樹 314
右旋 314
左旋 315
右左旋 315
左右旋 316
13.5 實現二叉查找樹:AVL樹 317
AVL樹中的右旋 317
AVL樹中的左旋 317
AVL樹中的右左旋 318
AVL樹中的左右旋 318
13.6 實現二叉查找樹:紅黑樹 319
紅黑樹中的插入 320
紅黑樹中的元素刪除 322
13.7 實現二叉查找樹:Java集合
API 324
第14章 祖先樹 331
14.1 祖先樹 331
14.2 初始設計 331
14.3 祖先樹的實現 335
Person類 335
AncestorTreeNode類 335
AncestorTree類 336
AncestorGUI類 345
AncestorDemo類 358
第15章 堆 361
15.1 堆 361
addElement操作 362
removeMin操作 363
findMin操作 364
15.2 堆的使用:堆排序 365
15.3 堆的使用:優(yōu)先級隊列 365
15.4 堆的實現:利用鏈接 368
addElement操作 368
removeMin操作 371
findMin操作 373
15.5 堆的實現:利用數組 373
addElement操作 373
removeMin操作 374
findMin 操作 376
15.6 堆實現的分析 376
addElement操作 376
removeMin操作 376
findMin 操作 377
堆排序 377
第16章 多路查找樹 381
16.1 整合樹的概念 381
16.2 2-3樹 381
向2-3樹中插入元素 382
從2-3樹中刪除元素 384
16.3 2-4樹 387
16.4 B樹 388
16.5 創(chuàng)建和使用B樹的動因 388
B*樹 389
B+樹 389
B樹的分析 390
16.6 B樹的實現策略 390
第17章 散列(Hashing) 394
17.1 散列 394
17.2 散列函數 396
除法方法 396
折疊法 397
平方取中間值法 397
基數轉換法 397
數字分析法 398
長度依賴法 398
Java語言中的散列函數 398
17.3 解決沖突 398
鏈鎖法 399
開地址 400
17.4 從散列表刪除元素 402
從鏈鎖式實現中刪除 402
從開地址實現中刪除 403
17.5 Java集合API中的散列表 403
Hashtable類 404
HashSet類 405
HashMap類 406
IdentityHashMap類 406
WeakHashMap類 407
LinkedHashSet與
LinkedHashMap 408
第18章 圖 413
18.1 無向圖 413
18.2 有向圖 415
18.3 網絡 416
18.4 常見的圖算法 417
遍歷 417
測試連通性 421
最小生成樹 422
判定最短路徑 424
18.5 圖的實現策略 425
鄰接表 425
鄰接矩陣 426
第19章 Web爬蟲工具 430
19.1 Web爬蟲工具 430
19.2 初始設計 430
19.3 實現Web爬蟲工具 432
WebCrawler類 433
WebcrawlerGUI類 439
WebCrawlerDemo類 441

本目錄推薦

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