编辑推荐
《算法与数据结构(java语言描述)》系统介绍了算法与数据结构方面的基本知识,重点阐述了基本数据结构及算法在程序开发中的应用方法。通过深入地学习和分析,能够帮助读者显著提高软件开发和设计能力。本书主要内容有:数据结构和算法的基本概念和术语,Java面向对象知识,java语言的数据类型及其算法描述要点,java语言中抽象数据类型的实现;表、树和图数据结构的表示及基本算法实现和应用实例;查找、排序操作的实现及应用。
《算法与数据结构(java语言描述)》给出的所有算法和程序采用java语言描述并调试通过;非常注重数据结构的实用性,每个数据结构章节都有工程应用实例;注重教材的可读性和适用性,书中附有大量的图表、程序,使读者能正确、直观地理解问题;书中每章有学习要点、习题和上机实习题,既便于教学,又便于自学。
本书的读者要求具有java 语言基础,特别适合普通高校本专科学生使用,也可作为其他程序类课程辅导教材。
内容简介
《21世纪高等学校规划教材·计算机科学与技术·算法与数据结构:Java语言描述》介绍了算法与数据结构方面的基本知识,重点阐述基本数据结构及算法在程序开发中的应用方法。《21世纪高等学校规划教材·计算机科学与技术·算法与数据结构:Java语言描述》主要内容有数据结构及算法的基本概念和术语、java面向对象知识、java语言的数据类型及其算法描述要点、java语言中抽象数据类型的实现、线性表、栈和队列、树、查找、排序。
《21世纪高等学校规划教材·计算机科学与技术·算法与数据结构:Java语言描述》给出的所有算法和程序采用java语言描述并调试通过。本书注重数据结构的实用性,每个数据结构章节都有工程应用实例;注重可读性和适用性,书中附有大量的图表、程序,使读者能正确、直观地理解问题;每章有学习要点、习题和上机实习题,既便于教学,又便于自学。
《21世纪高等学校规划教材·计算机科学与技术·算法与数据结构:Java语言描述》的读者要求具有java语言基础,特别适合普通高校本专科学生使用,也可作为其他程序类课程的辅导教材。
目录
第1章 绪论
1.1 数据结构的基本概念
1.1.1 数据结构的研究对象
1.1.2 数据结构的基本概念和基本术语
1.2 算法与数据结构
1.2.1 算法的概念
1.2.2 描述算法的方法
1.2.3 算法分析
1.3 java面向对象知识
1.3.1 类及类的使用
1.3.2 程序入口及对象的使用
1.3.3 构造方法
1.3.4 抽象类、接口
1.3.5 多态
1.3.6 包和类库的使用
1.3.7 equals方法、this、super
1.4 java语言的数据类型及其算法描述要点
1.4.1 java语言的基本数据类型概述
1.4.2 java语言的数组和类数据类型
1.4.3 java语言的arraylist
1.4.4 java语言的函数
1.4.5 用java语言验证算法的方法
1.5 java中adt规格与实现
1.6 一个java应用实例
1.7 学习数据结构的意义和方法
学习要点
习题
上机练习
第2章 线性表
2.1 线性表的逻辑结构
2.1.1 线性表的定义
2.1.2 线性表的运算
2.1.3 线性表的抽象数据类型定义
2.2 线性表的顺序存储结构--顺序表
2.2.1 顺序表的定义
2.2.2 顺序存储结构的优缺点
2.2.3 顺序表上的基本运算
2.3 线性表的链式存储结构--链表
2.3.1 单链表的定义
2.3.2 单链表的java表示
2.3.3 单链表的基本运算
2.3.4 循环链表和双向链表
2.3.5 java对链表的支持
2.4 数组
2.4.1 数组的定义与操作
2.4.2 数组的顺序存储结构
2.4.3 矩阵的压缩存储方法
2.5 字符串
2.5.1 字符串的定义与操作
2.5.2 字符串的存储结构
2.5.3 字符串基本操作的实现
2.6 线性表的应用实例
2.7 工程应用实例
学习要点
习题
上机练习
第3章 栈和队列
3.1 栈
3.1.1 栈的基本概念
3.1.2 栈的抽象数据类型
3.1.3 栈的顺序存储结构
3.1.4 栈的链式存储结构
3.2 栈的应用实例
3.2.1 表达式求值
3.2.2 栈与函数调用
3.2.3 栈在回溯法中的应用
3.2.4 java对栈的支持
3.3 队列
3.3.1 队列的基本概念
3.3.2 队列的抽象数据类型
3.3.3 队列的顺序存储结构
3.3.4 队列的链式存储结构
3.4 队列的应用实例
3.4.1 舞伴问题
3.4.2 模拟打印队列的管理
3.5 工程应用实例
3.5.1 栈的应用
3.5.2 队列的应用
学习要点
习题
上机练习
第4章 递归
4.1 递归的概念及设计方法
4.1.1 递归模型
4.1.2 递归的执行过程
4.1.3 递归设计
4.1.4 递归到非递归的转换
4.2 递归与回溯
4.3 递归技术应用实例
4.3.1 汉诺塔问题
4.3.2 组合数学:委员会问题
4.4 递归评价
4.5 工程应用实例
学习要点
习题
上机练习
第5章 树
5.1 树
5.1.1 树的概念
5.1.2 树的基本操作
5.2 二叉树
5.2.1 二叉树的概念
5.2.2 二叉树的性质
5.2.3 二叉树的存储结构及其实现
5.3 二叉树的遍历
5.3.1 递归的遍历算法
5.3.2 二叉树遍历操作应用举例
5.4 线索二叉树
5.4.1 线索二叉树的定义
5.4.2 遍历线索二叉树
5.5 一般树的表示和遍历
5.5.1 一般树的表示
5.5.2 二叉树与树之间的转换
5.5.3 一般树的遍历
5.6 哈夫曼树及其应用
5.6.1 哈夫曼树
5.6.2 哈夫曼树的应用
5.7 工程应用实例
学习要点
习题
上机练习
第6章 图
6.1 图的定义和术语
6.2 图的存储结构
6.2.1 邻接矩阵
6.2.2 图的邻接表
6.2.3 十字链表
6.2.4 边集数组
6.3 图的遍历
6.3.1 深度优先搜索
6.3.2 广度优先搜索
6.4 图的连通性
6.4.1 无向图的连通分量
6.4.2 生成树和最小代价生成树
6.5 有向无环图及应用
6.5.1 拓扑排序
6.5.2 关键路径
6.6 最短路径及应用
6.6.1 单源最短路径
6.6.2 每个顶点之间的最短路径
6.7 工程应用实例
学习要点
习题
上机练习
第7章 查找
7.1 基本概念与术语
7.2 静态查找表
7.2.1 静态查找表结构
7.2.2 顺序查找
7.2.3 有序表的折半查找
7.2.4 有序表的插值查找和斐波那契查找
7.2.5 分块查找
7.3 动态查找表
7.3.1 二叉排序树
7.3.2 平衡二叉树
7.3.3 b-树和b+树
7.4 哈希表查找
7.4.1 哈希表与哈希方法
7.4.2 常用的哈希函数
7.4.3 处理冲突的方法
7.4.4 哈希表的查找分析
学习要点
习题
上机练习
第8章 排序
8.1 基本概念
8.2 插入排序
8.2.1 直接插入排序
8.2.2 希尔排序
8.3 交换排序
8.3.1 冒泡排序
8.3.2 快速排序
8.4 选择排序
8.4.1 简单选择排序
8.4.2 堆排序
8.5 归并排序
8.6 *基数排序
8.7 *外部排序简介
8.7.1 外存信息的存取
8.7.2 外部排序的基本方法
学习要点
习题
上机练习
参考文献
前言/序言
关于数据结构
计算机的日益发展,其应用早已不局限于简单的数值运算,而涉及问题的分析、数据结构框架的设计以及插入、删除、排序、查找等复杂的非数值处理和操作。数据结构的学习就是为以后利用计算机高效地开发非数值处理的计算机程序打下坚实的理论、方法和技术基础。
算法与数据结构旨在分析研究计算机加工的数据对象的特性,以便选择适当的数据结构和存储结构,从而使建立在其上的解决问题的算法达到最优。
关于结构安排
全书共分为8章,每章主要内容如下。
第1章: 绪论。主要介绍了数据结构和算法的基本概念和术语、Java面向对象知识、Java语言的数据类型及其算法描述要点、Java语言验证算法的方法、Java中抽象数据类型的规格与实现。
第2章: 线性表。主要介绍线性表的逻辑结构、线性表的顺序存储结构和链式存储结构、数组存储结构、线性表的应用实例。
第3章: 栈和队列。主要介绍栈与队列的基本概念及存储结构、栈与队列的应用实例。
第4章: 递归。介绍递归的概念及设计方法、递归与回溯、递归技术应用实例。
第5章: 树。主要介绍树及二叉树的基本概念及存储结构、二叉树的应用——哈夫曼树及编码。
第6章: 图。主要介绍图的基本概念及存储结构、图的遍历、图的生成树和最小生成树、最短路径、有向无环图的应用实例。
第7章: 查找。主要介绍静态查找、动态查找、哈希表查找。
第8章: 排序。主要介绍插入排序、交换排序、选择排序、归并排序、基数排序、外部排序。
本书第1、6章由陈媛教授编写,第2、5章由何波副教授编写,第3、4章由卢玲编写,第7、8章由涂飞编写。全书由陈媛教授统稿。
本书特点
全书给出的所有算法和程序采用Java语言描述并调试通过; 非常注重数据结构的实用性,每个数据结构章节都有工程应用实例; 注重教材的可读性和适用性,书中附有大量的图表、程序,使读者能正确、直观地理解问题; 书中每章有学习要点、习题和上机实习题,既便于教学,又便于自学。
本书内容和结构体现了教学改革成果。全书由重庆市精品课程“数据结构”重庆理工大学课程组的教师集体编写完成。作者都是长期在高校从事数据结构教学的一线教师,有丰富的教学经验和软件开发能力。作者从多年的教学经验和多项教研课题的研究成果,构建了数据结构概念建立和编程思想培养的框架体系,总结提炼了学习本课程的重难点和解决方法,大部分样例都经过整理和组织,以便更好地理解掌握。
为了方便教学,我们开发了课程网站和练习系统,使用本书的院校可通过E�瞞ail cy@cqut.edu.cn向作者索取练习系统。
本书适用对象
本书的读者要求具有Java语言基础; 特别适合普通高校本专科学生使用,可作为计算机专业、信息专业及其他相关专业的本专科教材,也是广大参加自学考试的人员和软件工作者的参考资料; 本书既可作为数据结构、算法与数据结构等课程的教材,也可作为其他程序类课程辅导教材。
由于水平有限,本书可能会有不尽如人意及错漏之处,敬请读者批评指正。
编者
2010年12月
算法与数据结构:Java语言描述/21世纪高等学校规划教材·计算机科学与技术 电子书 下载 mobi epub pdf txt