书籍详情
数据结构:Java版
作者:(美)John Lewis,(美)Joseph Chase著;施平安译;施平安译
出版社:清华大学出版社
出版时间:2004-06-01
ISBN:9787302085522
定价:¥49.00
购买这本书可以去
内容简介
本书是数据结构课程的优秀教材。主要讲述如何在正确的软件工程原则指导下,用精心定义的数据结构和算法实现高质量的程序。为使读者能更好的理解本书,各章在内容安排上从易到难,对于每章所涉及的数据结构,都先介绍其概念,然后举例说明其用途,再讨论如何用Java编程语言实现,最后对各种实现的效率进行分析,对比。
作者简介
John Lewis任教于Villanova大学。他的研究领域包括软件工程、网络程序设计等。他还是ACM和IEEE的成员,在计算机教学领域成果颇丰。Joseph Chase任教于Radford大学,他的研究领域包括人机交互、软件工程。他也是ACM和IEEE的成员。
目录
第1章 软件工程
1.1 软件开发
1.2 软件质量
1.3 软件开发生命期模型
1.4 统一建模语言
1.5 错误的处理
1.6 算法的分析
1.7 软件工程和数据结构
第2章 集合
2.1 本章简介
2.2 袋集合
2.3 使用袋的例子:bingo
2.4 袋的数组实现
2.5 分析袋的数组实现
第3章 链式结构
3.1 链式引用
3.2 管理链表
3.3 无链接的元素
3.4 袋的链式实现
3.5 分析袋的链式实现
第4章 递归
4.1 递归思想
4.2 递归编程
4.3 使用递归
4.4 分析递归算法
第5章 查找与排序
5.1 查找
5.2 排序
第6章 堆栈
6.1 堆栈ADT
6.2 使用堆栈:计算后缀表达式
6.3 使用堆栈:模拟递归
6.4 堆栈的链式实现
6.5 堆栈的数组实现
6.6 实现堆栈:java.util.Stack类
6.7 分析堆栈的实现
第7章 队列
7.1 队列ADT
7.2 使用队列:代码键
7.3 使用队列:模拟售票器
7.4 使用队列:基数排序法
7.5 队列的链式实现
7.6 队列的数组实现
7.7 使用循环数组来实现队列
7.8 队列实现的分析
第8章 链表
8.1 链表ADT
8.2 使用有序链表:制订赛程
8.3 使用索引链表:Josephus问题
8.4 链表的数组实现
8.5 链表的链式实现
8.6 分析链表的实现
第9章 树
9.1 树
9.2 树的实现策略
9.3 树的遍历
9.4 实现二叉树
9.5 使用二叉树:表达式树
第10章 二叉查找树
10.1 二叉查找树
10.2 二叉查找树的链式实现
10.3 使用二叉查找树实现有序链表
10.4 平衡二叉查找树
10.5 实现二叉查找树:AVL树
10.6 实现二叉查找树:红黑树
10.7 实现二叉查找树:Java集合API
第11章 堆
11.1 堆
11.2 使用堆:堆排序
11.3 使用堆:优先队列
11.4 堆的链式实现
11.5 堆的数组实现
11.6 分析堆的实现
第12章 多叉查找树
12.1 合并树的概念
12.2 2-3树
12.3 2-4树
12.4 B-树
12.5 B-树的实现策略
第13章 散列
13.1 散列
13.2 散列函数
13.3 解决冲突
13.4 删除哈希表中的元素
13.5 Java集合API中的哈希表
第14章 图
14.1 无向图
14.2 有向图
14.3 网络
14.4 图的通用算法
14.5 图的实现策略
附录A Java面向对象概念
A.1 面向对象简介
A.2 使用对象
A.3 类库和包
A.4 对象的状态和行为
A.5 类
A.6 封装
A.7 构造函数
A.8 方法重载
A.9 再谈引用
A.10 static修饰符
A.11 包装类
A.12 接口
A.13 继承
A.14 类层次体系
A.15 多态
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)
1.1 软件开发
1.2 软件质量
1.3 软件开发生命期模型
1.4 统一建模语言
1.5 错误的处理
1.6 算法的分析
1.7 软件工程和数据结构
第2章 集合
2.1 本章简介
2.2 袋集合
2.3 使用袋的例子:bingo
2.4 袋的数组实现
2.5 分析袋的数组实现
第3章 链式结构
3.1 链式引用
3.2 管理链表
3.3 无链接的元素
3.4 袋的链式实现
3.5 分析袋的链式实现
第4章 递归
4.1 递归思想
4.2 递归编程
4.3 使用递归
4.4 分析递归算法
第5章 查找与排序
5.1 查找
5.2 排序
第6章 堆栈
6.1 堆栈ADT
6.2 使用堆栈:计算后缀表达式
6.3 使用堆栈:模拟递归
6.4 堆栈的链式实现
6.5 堆栈的数组实现
6.6 实现堆栈:java.util.Stack类
6.7 分析堆栈的实现
第7章 队列
7.1 队列ADT
7.2 使用队列:代码键
7.3 使用队列:模拟售票器
7.4 使用队列:基数排序法
7.5 队列的链式实现
7.6 队列的数组实现
7.7 使用循环数组来实现队列
7.8 队列实现的分析
第8章 链表
8.1 链表ADT
8.2 使用有序链表:制订赛程
8.3 使用索引链表:Josephus问题
8.4 链表的数组实现
8.5 链表的链式实现
8.6 分析链表的实现
第9章 树
9.1 树
9.2 树的实现策略
9.3 树的遍历
9.4 实现二叉树
9.5 使用二叉树:表达式树
第10章 二叉查找树
10.1 二叉查找树
10.2 二叉查找树的链式实现
10.3 使用二叉查找树实现有序链表
10.4 平衡二叉查找树
10.5 实现二叉查找树:AVL树
10.6 实现二叉查找树:红黑树
10.7 实现二叉查找树:Java集合API
第11章 堆
11.1 堆
11.2 使用堆:堆排序
11.3 使用堆:优先队列
11.4 堆的链式实现
11.5 堆的数组实现
11.6 分析堆的实现
第12章 多叉查找树
12.1 合并树的概念
12.2 2-3树
12.3 2-4树
12.4 B-树
12.5 B-树的实现策略
第13章 散列
13.1 散列
13.2 散列函数
13.3 解决冲突
13.4 删除哈希表中的元素
13.5 Java集合API中的哈希表
第14章 图
14.1 无向图
14.2 有向图
14.3 网络
14.4 图的通用算法
14.5 图的实现策略
附录A Java面向对象概念
A.1 面向对象简介
A.2 使用对象
A.3 类库和包
A.4 对象的状态和行为
A.5 类
A.6 封装
A.7 构造函数
A.8 方法重载
A.9 再谈引用
A.10 static修饰符
A.11 包装类
A.12 接口
A.13 继承
A.14 类层次体系
A.15 多态
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)
猜您喜欢