书籍详情

数据结构与算法:Java语言版

数据结构与算法:Java语言版

作者:(美)Adam Drozdek著;周翔[等]译;周翔译

出版社:机械工业出版社

出版时间:2003-07-01

ISBN:9787111119029

定价:¥49.50

购买这本书可以去
内容简介
  在C语言作为教学语言时期,数据结构几乎都是用C语言来描述其算法。Java语言诞生后,以其功能完备及跨平台等特性,逐渐为计算机领域广大科技工作者所偏爱。因此,用Java语言来描述数据结构及其算法,有着很重要的现实意义。本书顺应了计算机科学发展的需要,以面向对象的方式描述了数据结构的设计和实现范例,在数据结构的实现中用Java作为编程语言。本书的重点是数据结构,算法是从数据结构的角度来考虑的。本书强调了数据结构和算法之间的联系,详尽地描述了不同类型的递归,在每一章(除了第2章)都提供了示例学习和编程作业。本书适合作为初学数据结构的学生的教材,同时也为高年级学生提供了一些极富吸引力的内容。
作者简介
  Adam Drozdek是Duquesne大学计算机科学教授.原籍波兰,在俄亥俄州Wright州立大学获得硕士学位,并在世界历史最悠久的大学之一波兰克拉科夫的Jagiellonian大学获得了博士学位。
目录
出版者的话
专家指导委员会
译者序
前言
第1章 Java语言的面向对象编程
1.1 Java入门
1.1.1 变量声明
1.1.2 运算符
1.1.3 选择语句
1.1.4 循环语句
1.1.5 异常处理
1.2 Java面向对象编程
1.2.1 封装
1.2.2 抽象数据类型
1.2.3 继承
1.2.4 多态性
1.3 输入和输出
1.4 Java和指针
1.5 java.util中的向量
1.6 数据结构和面向对象编程
1.7 示例学习:随机存取文件
1.8 习题
1.9 编程作业
参考文献
第2章 复杂性分析
2.1 计算复杂性和渐近复杂性
2.2 大O表示法
2.3 大O表示法的性质
2.4 和表示法
2.5 可能出现的问题
2.6 复杂性示例
2.7 寻找渐近复杂性:示例
2.8 最好的、平均的和最坏的情况
2.9 补偿复杂性
2.10 习题
参考文献
第3章 链表
3.1 单向链表
3.1.1 插入
3.1.2 删除
3.1.3 查找
3.2 双向链表
3.3 循环链表
3.4 跳转表
3.5 自组织表
3.6 稀疏表
3.7 用java.util的链表
3.8 小结
3.9 示例学习:图书馆管理
3.10 习题
3.11 编程作业
参考文献
第4章 堆栈和队列
4.1 堆栈
4.2 队列
4.3 优先级队列
4.4 示例学习:逃离迷宫
4.5 习题
4.6 编程作业
参考文献
第5章 递归
5.1 递归定义
5.2 方法调用和递归实现
5.3 剖析一个递归调用
5.4 尾递归
5.5 非尾递归
5.6 间接递归
5.7 嵌套递归
5.8 过分递归
5.9 回溯
5.10 小结
5.11 示例学习:一个递归下降解释器
5.12 习题
5.13 编程作业
参考文献
第6章 二叉树
6.1 树、二叉树和折半查找树
6.2 实现二叉树
6.3 搜索折半查找树
6.4 树的遍历
6.4.1 广度优先遍历
6.4.2 深度优先遍历
6.4.3 无堆栈深度优先遍历
6.5 插入
6.6 删除
6.6.1 归并删除法
6.6.2 拷贝删除法
6.7 树的平衡,
6.7.1 DSW算法
6.7.2 AVL树
6.8 自适应树
6.8.1 自调整树
6.8.2 扩展
6.9 堆
6.9.1 堆作为优先级队列
6.9.2 以堆形式组织数组
6.10 波兰表示法和表示树
6.11 示例学习:计算单词频率
6.12 习题
6.13 编程作业
参考文献
第7章 多分树
7.1 B树家族
7.1.1 B树
7.1.2 B*树
7.1.3 B树
7.1.4 前缀B树
7.1.5 比特树
7.1.6 R树
7.1.7 2-4树
7.1.8 java.util中的集合
7.1.9 java.util中的映像
7.2 线索
7.3 小结
7.4 示例学习:拼写检查程序
7.5 习题
7.6 编程作业
参考文献
第8章 图
8.1 图的表示法
8.2 图的遍历
8.3 最短路径
8.4 环路检测
8.5 生成树
8.5.1 Boruvka算法
8.5.2 Kruskal算法
8.5.3 Jarnik-Prim算法
8.5.4 Dijkstra算法
8.6 连通性
8.6.1 无向图的连通性
8.6.2 有向图的连通性
8.7 拓扑排序
8.8 网络
8.8.1 最大流
8.8.2 最小代价的最大流量
8.9 匹配
8.9.1 分配问题
8.9.2 非二部图中的匹配
8.10 欧拉图和哈密顿图
8.10.1 欧拉图
8.10.2 哈密顿图
8.11 示例学习:典型代表问题
8.12 习题
8.13 编程作业
参考文献
第9章 排序
9.1 元素排序算法
9.1.1 插入排序
9.1.2 选择排序
9.1.3 起泡排序
9.2 决策树
9.3 高效排序算法
9.3.1 希尔排序
9.3.2 堆排序
9.3.3 快速排序
9.3.4 归并排序
9.3.5 基数排序
9.4 java.util中的排序
9.5 小结
9.6 示例学习:多项式加法
9.7 习题
9.8 编程作业
参考文献
第10章 散列
10.1 散列函数
10.1.1 除法
10.1.2 折叠法
10.1.3 平方取中散列函数
10.1.4 提取方法
10.1.5 基数变换
10.2 冲突解决
10.2.1开放地址法
10.2.2 链
10.2.3 桶地址法
10.3 删除
10.4 理想散列函数
10.4.1 Cichelli方法
10.4.2 FHCD算法,
10.5 可扩展文件的散列函数
10.5.1 可扩展散列
10.5.2 线性散列
10.6 java.util中的散列
10.7 示例学习
10.8 习题
10.9 编程作业
参考文献
第11章 数据压缩
11.1 数据压缩的条件
11.2 霍夫曼编码
11.3 Shannon-Fano码
11.4 运行长度编码
11.5 Ziv-Lempel编码
11.6 示例学习:结合运行长度编码的霍夫曼方法
11.7 习题
11.8 编程作业
参考文献
第12章 存储管理
12.1 连续适应方法
12.2 非连续适应方法
12.3 无用单元收集
12.3.1 标记与清除算法
12.3.2 拷贝方法
12.3.3 增量式无用单元收集
12.4 小结
12.5 示例学习:内置无用单元收集器
12.6 习题
12.7 编程作业
参考文献
附录A 大O的计算
人名索引
名词索引
猜您喜欢

读书导航