网站首页  软件下载  游戏下载  翻译软件  电子书下载  电影下载  电视剧下载  教程攻略

请输入您要查询的图书:

 

书名 数据结构算法与应用(Java语言描述)
分类
作者 (美)萨尼
出版社 中国水利水电出版社
下载
简介
编辑推荐

本书全面介绍了基本的数据结构,是高等院校“数据结构”课程的理想教材。本书作者从简单介绍开始,提供了直观的讨论和实际的应用,因此本书非常适合于学生阅读。条理清晰,内容翔实。书中的算法都有完整的Java程序,且程序结构清晰、构思精巧。本书是高等院校“数据结构”课程的理想教材,也是读者自学数据结构的极好读物。

内容推荐

本书涵盖了“数据结构和算法”的核心知识,使用Java语言描述,并对每种数据结构和算法的设计提供了多个实际应用。

本书共由三部分组成。第1部分包括第l~4章,回顾了Java编程概念及分析和测量程序性能的方法。第2部分包括第5~17章,深入研究了主要的数据结构。其中,第5~7章是本书研究的主干,探讨了表示数据的各种方法——数组、链表和模拟指针,其余章节论及了数据结构的其他表示方法。第3部分包括第18~22章,探讨了常见算法的设计方法。

本书条理清晰,内容翔实。书中的算法都有完整的Java程序,且程序结构清晰、构思精巧。本书是高等院校“数据结构”课程的理想教材,也是读者自学数据结构的极好读物。

目录

前言

致谢

关于本书

第1章 Java综述

  1.1 简介

  1.2.Java程序结构

1.2.1 独立运行的程序和Applet

 1.2.2包

1.2.3引入类和包

1.2.4超类和子类

113 Java编译器和虚拟机

  1.4文档注释

  1.5数据类型

1.6方法

 1.6.1 参数

1.6.2重载方法

1.7异常

1.7.1抛出一个异常

1.7.2处理异常

 1.8 自定义数据类型

1.8.1Currency类

1.8.2 currency的数据成员

1.8.3 Currency的方法成员

1.8.4 Currency的构造函数

1.8.5创建Cu~ency的实例

1.8.6 Curtency的存取器(获取)方法

1.8.7 Currency的存取器(设置)方法

1.8.8调用方法和访问数据成员

1.8.9 Currency的输出和算术方法

1.8.10 main方法

1.9访问修饰符

1.1O继承和方法重写

 1.11重访Currency

 1.12定义一个异常类

 1.13泛型方法

1.13.1Computable接口

1.13.2泛型方法abc

1.13.3 java.1ang.Comparable接口

1.13-4 Operable接口

1.13.5 Zero和CloneableObject接口

1.13.6 MyInteger封装类

1.13.7使用数据类型和方法作为参数一

 1.14垃圾收集

 1.15递归

1.15.1 递归函数

1.15.2归纳

1.15.3递归方法

 1.16测试和调试

1.16.1什么是测试

1.16.2设计测试数据

1.16.3调试

 1.17参考资料和选择性读物

第2章 性能分析

 2.1什么是性能

 2.2空间复杂度

2.2.1空间复杂度的组成

2.2.2 范例

 2.3时间复杂度

2.3.1时间复杂度的组成

2.3.2运算计数

2.3.3最佳、最差和平均运算计数

2.3.4步骤计数

第3章 渐近表示法

 3.1 简介

 3.2渐近表示法

3.2.1 O表示法

3.2.2 Ω和Θ表示法

 3.3渐近数学(可选)

3.3.1O表示法

3.3.2 Ω表示法

3.3.3 Θ表示法

3.3.4 o表示法

3.3.5属性

 3.4复杂度分析范例

 3.5实用的复杂度

 3.6参考资料和选择性读物

第4章 性能测量

 4.1 简介

 4.2选择实例规模

 4.3开发测试数据

 4.4建立试验

 4.5缓存管理

4.5.1 一个简单的计算机模型

4.5.2遗漏缓存对运行时间的影响

4.5.3矩阵乘法

 4.6参考资料和选择性读物

第5章 线性列表——数组表示形式

 5.1数据对象和结构

 5.2线性列表数据结构

5.2.1 抽象数据类型LinearList

5.2.2 LinearList接口

5.2.3 LinearListAsAbstractClass抽象类

 5.3数组表示形式

5.3.1 表示形式

5.3.2改变一维数组的长度

5.3.3类ArrayLinearList

5.3.4 ArrayLinearLst的lterator

 5.4矢量表示形式

 5.5在单个数组中的多个列表

 5.6性能测量

5.7 java.util.ArrayList类

5-8参考资料和选择性读物

第6章 线性列表一链表表示

 6.1单向链表和链

6.1.1表示形式

6.1.2 ChainNode类

6.1.3 Chain类

6.1.4对ADT LinearList的扩展

  6.1.5 ExtendedChain类

6.1.6性能测量

 6.2循环列表和头节点

 6.3双向链表

 6.4链表术语表

 6.5应用

6.5.1 箱排序

6.5.2基数排序

6.5.3 凸包

第7章 线性列表——模拟指针

 7.1需要模拟指针

 7.2模拟指针

 7.3内存管理

7.3.1 SimulatedSpacel类

7.3.2 SimulatedSpace2类

7.3.3评价模拟内存管理

 7.4与垃圾收集比较

 7.5模拟链

7.5.1 SimulatedChain类

7.5.2性能测量

 7.6内存管理链

 7.7应用程序——并查问题

7.7.1 等价类

7.7.2应用程序

7.7.3第一个并查解决方案

7.7.4第二个并查解决方案

第8章 数组和矩阵

 8.1 数组

8.1.1抽象数据类型

8.1.2对一个Java数组进行索引

8.1.3行优先和列优先的映射

8.1.4数组的数组表示形式

8.1.5行优先和列优先的表示形式..

8.1.6不规则的二维数组

 8.2矩阵

8.2.1定义和操作

8.2.2 Matrix类

 8.3特殊矩阵

8.3.1定义和应用程序

8.3.2对角线矩阵,

8.3.3三对角线矩阵

8.3.4三角形矩阵

8.3.5对称矩阵

 8.4稀疏矩阵

8.4.1 目的

8.4.2使用单线性表的表示

8.4.3使用多线性表的表示

8.4.4性能测量

第9章 堆栈

 9.1定义和应用

 9.2抽象数据类型

 9.3数组表示

9.3.1实现为子类

9.3.2类arrayStack

9.3.3性能测量

 9.4链式表示

9.4.1类Derivedl-。inkedStaek

9.4.2类LinkedStack

9.4.3性能测量

 9.5应用

9.5.1括号匹配

9.5.2汉诺塔

9.5.3重排有轨电车

9.5.4开关箱路由

9.5.5离线等价类问题

9.5.6迷宫中的老鼠

 9.6参考资料和选择性读物

第10章 队列

 1O.1定义和应用

 10.2抽象数据类型

 10.3数组表示

10.3.1 表示方法

10.3.2 ArrayQueue类

 10.4链式表示

 10.5应用

10.5.1有轨电车的重新安排

10.5.2线路路由

10.5.3图像组件编号

10.5.4机械工厂模拟

 10.6参考资料和选择性读物

第11章 跳表和散列表

 11.1 字典

 11.2抽象数据类型

 11.3线性表表示

 11.4跳表表示(可选)

11.4.1理想情形

11.4.2插入和删除

11.4.3分配层级

11.4.4类SkipNode

11.4.5类SkipList

11.4.6 SkipList方法的复杂度

 11.5散列表表示

11.5.1理想散列

11.5.2散列函数和散列表

11.5.3线性探查法

11.5.4使用链表的散列

 11.6一个应用——文本压缩

11.6.1LZW压缩

11.6.2 Lzw压缩的实现

11.6.3 LZW解压缩

11.6.4 LZW解压缩的实现

11.6.5性能评估

 11.7参考资料和选择性读物

第12章 二叉树和其他树

 12.1树

 12.2二叉树

 12.3二叉树的属性

习题

 12.4二叉树的表示

12.4.1基于数组的表示

12.4.2链接表示

 12.5常见的二叉树操作

 12.6二叉树遍历

 12.7 ADT BinaryTtee

 12.8类LinkedBinaryTree

 12.9应用

12.9.1信号放大器的布置

12.9.2并查(Union.Find)问题

 12.10参考资料和选择性读物

第13章 优先级队列

 13.1定义和应用

 13.2抽象数据类型

 13.3线性表

 13.4堆

13.4.1 定义

13.4.2插入元素到最大堆

13.4.3从最大堆中删除元素

13.4.4最大堆的初始化

13.4.5 MaxHeap类

 13.5左倾树

13.5.1 基于高度和基于宽度的最小和最大左倾树

13.5.2插入到最大HBLT

13.5.3从最大HBLT中删除

13.5.4合并两棵最大HBLT

13.5.5初始化

13.5.6 MaxHBLT类

 13.6应用

13.6.1堆排序

13.6.2机器调度

13.6.3哈夫曼编码

 13.7参考资料和选择性读物

第14章 比赛树

 14.1优胜树及其应用

 14.2抽象数据类型WinnerTree.

 14.3优胜树的实现

14.3.1 表示

14.3.2初始化一棵优胜树

14.3.3重新进行比赛

14.3.4类CompleteWinnerTtee

 14.4失败树

 14.5应用

14.5.1使用首次适应法的容器装包

14.5.2使用下一适应法的容器装包

 14.6参考资料和选择性读物

第15章 二叉搜索树

 15.1 定义

15.1.1二叉搜索树

15.1.2可索引二叉搜索树

 15.2抽象数据类型

 15.3二叉搜索树的操作及其实现

15.3.1BinarySearchTtee类

15.3.2搜索

15.3.3插入一个元素

15.3.4删除一个元素

15.3.5二叉搜索树的高度

 15.4有重复记录的二叉搜索树

 15.5索引的二叉搜索树

 15.6应用

15.6.1 柱状图

15.6.2最优容器装包

1.5.613交叉分配

第16章 平衡搜索树

 16.1 AVL。树

16.1.1 定义

16.1.2 AV/.树的高度

16.1.3 AVL树的表示

16.1.4 AVL搜索树的搜索

16.1.5 AVL搜索树的插入

16.1.6从AVL搜索树中删除

 16.2红黑树

16.2.1 定义

16.2.2红黑树的表示

16.2.3红黑树的搜索

16.2.4红黑树的插入

16.2.5从红黑树中删除

16.2.6实现的考虑和复杂度

 l6.3伸展树

16.3.1 引言

16.3.2伸展操作

16.3.3分摊复杂度

 16.4 B.树

16.4.1索引顺序存取法(ISAM).

16.4.2 m.叉搜索树

16.4.3 m叉排序B-树

16.4.4 B.树的高度

16.4.5搜索B.树

16.4.6插入元素到B.树

16.4.7从B.树中删除

16.4-8节点结构

 16.5参考资料和选择性读物

第17章 图

 17.1定义

 17.2应用和更多的定义

习题

 17.3属性

 17.4 ADT Graph

 17.5不带权值的图的表示

17.5.1邻接矩阵

17.5.2链式邻接表

17.5.3数组邻接表

 17.6带权图的表示形式

 17.7类的实现

17.7.1不同的类

17.7.2邻接矩阵类

17.7.3到类Chain的扩展

17.7.4链表类

 17.8图的搜索方法

17.8.1广度优先搜索

17.8.2广度优先搜索的实现

17.8.3 Graph.bfs的复杂度分析

17.8.4深度优先搜索

17.8.5深度优先搜索的实现

1。7.8.6 Graph.dfs的复杂度分析

 17.9重访的应用

17.9.1查找路径

17.9.2连通图和连通分量

17.9.3 生成树

第18章 贪婪方法

 18.1最优化问题

 18.2贪婪方法

 18.3应用

18.3.1集装箱装载

18.3.2 0/1背包问题

18.3.3拓扑排序

18.3.4二分覆盖

18.3.5单源最短路径

18.3.6最小生成树

 18.4参考资料和选择性读物

第19章 分而治之

 l9.1方法

 19.2应用

19.2.1缺陷棋盘

19.2.2归并排序

19.2.3快速排序

19.2.4选择

19.2.5最近顶点对

 19.3求解递归等式

 19.4复杂度下界

19.4.1最小最大问题的下界

19.4.2排序的下界

第20章 动态规划

 20.1方法

 20.2应用

20.2.1O/l背包问题

20.2.2矩阵乘法链

20.2.3所有对最短路径

20.2.4带负值的单源最短路径

20.2.5不相交网子集

 20.3参考资料和选择性读物

第21章 回溯法

2 1.1方法

21.2应用

21.2.1集装箱装载

21.2.2 0门背包问题

21.2.3最大集团

21.2.4旅行售货员

21.2.5电路板排列

第22章 分支限界法

 22.1方法

 22.2应用

22.2.1集装箱装载

22.2.2 O/1背包问题

22.2.3最大集团

22.2.4旅行售货员

22.2.5电路板排列

随便看

 

霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。

 

Copyright © 2002-2024 101bt.net All Rights Reserved
更新时间:2025/3/30 23:13:38