第Ⅰ部分 問題求解技術
第1章 Java編程基礎
1.1 程序結構
1.2 Java基礎知識
1.3 分支結構
1.4 循環(huán)結構
1.5 有用的Java類
1.6 Java異常
1.7 文本輸入和輸出
1.8 文件輸入和輸出
1.9 小結
1.10 提示
第2章 編程原理與軟件工程
2.1 問題求解與軟件工程
2.2 面向對象設計
2.3 關鍵編程問題
2.4 小結
2.5 提示
2.6 自我測試題
2.7 練習題
2.8 編程問題
第3章 遞歸:鏡子
3.1 遞歸解決方案
3.2 計數
3.3 數組查找
3.4 組織數據
3.5 遞歸與效率
3.6 小結
3.7 提示
3.8 自我測試題
3.9 練習題
3.10 編程問題
第4章 數據抽象:墻
4.1 抽象數據類型
4.2 指定ADT
4.3 實現ADT
4.4 小結
4.5 提示
4.6 自我測試題
4.7 練習題
4.8 編程問題
第5章 鏈表
5.1 預備知識
5.2 鏈表編程
5.3 鏈表的各種變體
5.4 清單應用程序
5.5 Java集合框架
5.6 小結
5.7 提示
5.8 自我測試題
5.9 練習題
5.10 編程問題
第Ⅱ部分 使用抽象數據類型解決問題
第6章 遞歸問題求解技術
6.1 回溯
6.2 定義語言
6.3 遞歸和數學歸納法的關系
6.4 小結
6.5 提示
6.6 自我測試題
6.7 練習題
6.8 編程問題
第7章 棧
7.1 ADT棧
7.2 ADT棧的簡單應用
7.3 ADT棧的實現
7.4 應用:代數表達式
7.5 應用:查找問題
7.6 棧和遞歸的關系
7.7 小結
7.8 提示
7.9 自我測試題
7.10 練習題
7.11 編程問題
第8章 隊列
8.1 ADT隊列
8.2 ADT隊列的簡單應用
8.3 實現ADT隊列
8.4 基于位置的ADT總覽
8.5 模擬應用
8.6 小結
8.7 提示
8.8 自我測試題
8.9 練習題
8.10 編程問題
第9章 高級Java主題
9.1 繼承
9.2 動態(tài)綁定和抽象類
9.3 ADT列表和有序表
9.4 Java泛型
9.5 迭代器
9.6 小結
9.7 提示
9.8 自我測試題
9.9 練習題
9.10 編程問題
第10章 算法的效率和排序
10.1 確定算法的效率
10.2 排序算法及其效率
10.3 小結
10.4 提示
10.5 自我測試題
10.6 練習題
10.7 編程問題
第11章 樹
11.1 術語
11.2 ADT二叉樹
11.3 ADT二叉查找樹
11.4 一般樹
11.5 小結
11.6 提示
11.7 自我測試題
11.8 練習題
11.9 編程問題
第12章 表和優(yōu)先隊列
12.1 ADT表
12.2 ADT優(yōu)先隊列: ADT表的變體
12.3 JCF中的表和優(yōu)先隊列
12.4 小結
12.5 提示
12.6 自我測試題
12.7 練習題
12.8 編程問題
第13章 表的高級實現方案
13.1 平衡查找樹
13.2 散列
13.3 按多種形式組織數據
13.4 小結
13.5 提示
13.6 自我測試題
13.7 練習題
13.8 編程問題
第14章 圖
14.1 術語
14.2 將圖作為ADT
14.3 圖的遍歷
14.4 圖的應用
14.5 小結
14.6 提示
14.7 自我測試題
14.8 練習題
14.9 編程問題
第15章 外部方法
15.1 了解外部存儲
15.2 排序外部文件的數據
15.3 外部表
15.4 小結
15.5 提示
15.6 自我測試題
15.7 練習題
15.8 編程練習
附錄A Java與C++的區(qū)別
附錄B Unicode字符代碼
附錄C Java資源
附錄D 數學歸納法
附錄E Java操作符
附錄F 術語表
附錄G 自我測試題答案