第1章 軟件工程
1.1 軟件開發(fā)
1.2 軟件質量
1.3 軟件開發(fā)生命期模型
1.4 統(tǒng)一建模語言
1.5 錯誤的處理
1.6 算法的分析
1.7 軟件工程和數(shù)據(jù)結構
第2章 集合
2.1 本章簡介
2.2 袋集合
2.3 使用袋的例子:bingo
2.4 袋的數(shù)組實現(xiàn)
2.5 分析袋的數(shù)組實現(xiàn)
第3章 鏈式結構
3.1 鏈式引用
3.2 管理鏈表
3.3 無鏈接的元素
3.4 袋的鏈式實現(xiàn)
3.5 分析袋的鏈式實現(xiàn)
第4章 遞歸
4.1 遞歸思想
4.2 遞歸編程
4.3 使用遞歸
4.4 分析遞歸算法
第5章 查找與排序
5.1 查找
5.2 排序
第6章 堆棧
6.1 堆棧ADT
6.2 使用堆棧:計算后綴表達式
6.3 使用堆棧:模擬遞歸
6.4 堆棧的鏈式實現(xiàn)
6.5 堆棧的數(shù)組實現(xiàn)
6.6 實現(xiàn)堆棧:java.util.Stack類
6.7 分析堆棧的實現(xiàn)
第7章 隊列
7.1 隊列ADT
7.2 使用隊列:代碼鍵
7.3 使用隊列:模擬售票器
7.4 使用隊列:基數(shù)排序法
7.5 隊列的鏈式實現(xiàn)
7.6 隊列的數(shù)組實現(xiàn)
7.7 使用循環(huán)數(shù)組來實現(xiàn)隊列
7.8 隊列實現(xiàn)的分析
第8章 鏈表
8.1 鏈表ADT
8.2 使用有序鏈表:制訂賽程
8.3 使用索引鏈表:Josephus問題
8.4 鏈表的數(shù)組實現(xiàn)
8.5 鏈表的鏈式實現(xiàn)
8.6 分析鏈表的實現(xiàn)
第9章 樹
9.1 樹
9.2 樹的實現(xiàn)策略
9.3 樹的遍歷
9.4 實現(xiàn)二叉樹
9.5 使用二叉樹:表達式樹
第10章 二叉查找樹
10.1 二叉查找樹
10.2 二叉查找樹的鏈式實現(xiàn)
10.3 使用二叉查找樹實現(xiàn)有序鏈表
10.4 平衡二叉查找樹
10.5 實現(xiàn)二叉查找樹:AVL樹
10.6 實現(xiàn)二叉查找樹:紅黑樹
10.7 實現(xiàn)二叉查找樹:Java集合API
第11章 堆
11.1 堆
11.2 使用堆:堆排序
11.3 使用堆:優(yōu)先隊列
11.4 堆的鏈式實現(xiàn)
11.5 堆的數(shù)組實現(xiàn)
11.6 分析堆的實現(xiàn)
第12章 多叉查找樹
12.1 合并樹的概念
12.2 2-3樹
12.3 2-4樹
12.4 B-樹
12.5 B-樹的實現(xiàn)策略
第13章 散列
13.1 散列
13.2 散列函數(shù)
13.3 解決沖突
13.4 刪除哈希表中的元素
13.5 Java集合API中的哈希表
第14章 圖
14.1 無向圖
14.2 有向圖
14.3 網絡
14.4 圖的通用算法
14.5 圖的實現(xiàn)策略
附錄A Java面向對象概念
A.1 面向對象簡介
A.2 使用對象
A.3 類庫和包
A.4 對象的狀態(tài)和行為
A.5 類
A.6 封裝
A.7 構造函數(shù)
A.8 方法重載
A.9 再談引用
A.10 static修飾符
A.11 包裝類
A.12 接口
A.13 繼承
A.14 類層次體系
A.15 多態(tài)
A.16 異常
附錄B Java類庫
AbstractButton(javax.swing)
ActionEvent(java.awt.event)
AdjustmentEvent(java.awt.event)
Applet(java.applet)
ArrayList(java.util)
AWTEvent(java.awt)
BigDecimal(java.math)
BigInteger(java.math)
BitSet(java.util)
Boolean(java.lang)
BorderFactory(javax.swing)
BorderLayout(java.awt)
Box(java.swing)
BoxLayout(java.swing)
BufferedReader(java.io)
BufferedWriter(java.io)
ButtonGroup(java.swing)
Byte(java.lang)
Calendar(java.util)
CardLayout(java.awt)
Character(java.lang)
Class(java.lang)
Color(java.awt)
Component(java.awt)
ComponentAdapter(java.awt.event)
ComponentEvent(java.awt.event)
Container(java.awt)
ContainerAdapter(java.awt.evnet)
ContainerEvent(java.awt.enent)
Cursor(java.awt)
Date(java.util)
DateFormat(java.text)
DateFormatSymbols(java.text)
DecimalFormat(java.text)
DecimalFormatSymbols(java.text)
Dimension(java.awt)
Double(java.lang)
Error(java.lang)
Event(java.awt)
Exception(java.lang)
Float(java.lang)
FlowLayout(java.awt)
FocusAdapter(java.awt.event)
FocusEvent(java.awt.event)
Font(java.awt)
FontMetrics(java.awt)
Format(java.text)
Graphics(java.awt)
GregorianCalendar(java.util)
GridBagConstraints(java.awt)
GridBagLayout(java.awt)
GridLayout(java.awt)
Hashtable(java.tuil)
Image(java.awt)
ImageIcon(java.swing)
InputEvent(java.awt.event)
InputStream(java.io)
InputStreamReader(java.io)
Insets(java.awt)
Integer(java.lang)
ItemEvent(java.awt.event)
JApplet(javax.swing)
JButton(javax.swing)
JCheckBox(javax.swing)
JCheckBoxMenuItem(javax.swing)
JColorChooser(javax.swing)
JComboBox(javax.swing)
JComponet(javax.swing)
JFileChooser(javax.swing)
JFrame(javax.swing)
JLabel(javax.swing)
JList(javax.swing)
JOptionPane(javax.swing)
JPanel(javax.swing)
PasswordField(javax.swing)
JRadioButton(javax.swing)
JScrollPane(javax.swing)
JSlider(javax.swing)
JTabbedPane(javax.swing)
JTextArea(javax.swing)
JTextField(javax.swing)
JToggleButton(javax.swing)
JToolTip(javax.swing)
KeyAdapter(java.awt.event)
KeyEvent(java.awt.event)
Locale(java.util)
Long(java.lang)
Math(java.lang)
MessageFormat(java.text)
MouseAdapter(java.awt.event)
MouseEvent(java.awt.event)
MouseMotionAdapter(java.awt.event)
Number(java.lang)
NumberFormat(java.text)
Object(java.lang)
ParsePosition(java.text)
Point(java.awt)
Polygon(java.awt)
PrintStream(java.io)
Random(java.util)
Rectangle(java.awt)
Short(java.lang)
SimpleDateFormat(java.text)
SimpleTimeZone(java.util)
Stack(java.util)
String(java.lang)
StringBuffer(java.lang)
StringTokenizer(java.util)
System(java.lang)
SystemColor(java.awt)
Thread(java.lang)
Throwable(java.lang)
Timer(javax.swing)
TimeZone(java.util)
URL(java.net)
Vector(java.util)
Void(java.lang)
Window(java.awt)
WindowAdapter(java.awt.event)
WindowEvent(java.awt.event)