书籍详情
数据结构
作者:曹春萍 主编
出版社:大连理工大学出版社
出版时间:2010-10-01
ISBN:9787561158746
定价:¥30.00
购买这本书可以去
内容简介
《新世纪应用型高等教育计算机类课程规划教材:数据结构》随着计算机科学技术的发展和其应用领域的不断扩大,计算机科学与技术学科在国民经济建设中的地位也越来越重要。计算机面对的数据结构愈来愈复杂,已由纯粹的数值发展到字符、表格和图像等各种具有一定结构的数据。为了设计出高效、准确、适应性和可重用性强的程序,就必须对数据的性质和数据元素间的关系进行深入研究,因而研究数据在计算机中的表示方法、存储方法以及对其操作处理的方法,就构成了数据结构课程的主要内容。本教材共分9章:绪论;线性表;栈和队列;字符串、数组和矩阵;树和二叉树;图;查找;排序;数据结构应用实例。研究解决如下问题:一个具体问题的逻辑数据结构是什么?适宜选用什么样的存储结构?采用什么样的操作实现算法效率更高?由于目前C语言应用广泛,而且数据结构的算法本身又是底层的基本算法,所以我们采用了大家熟悉的C语言去刻画算法。本教材建设的理念是“实用、适用”。由于算法与数据结构是一对不可分割的孪生兄弟,不了解施加于数据上的算法就不知道怎样去构造数据;反之,若不深入研究作为其基础的数据结构,就无法设计出高效的算法。所以书中的例题在选择上力求简单且具有代表性,例题讲解注重数据结构和算法的结合,这样做一方面有利于学生对知识点的理解;另一方面有利于培养学生“应用”数据结构解决问题的能力,而不是“记忆”数据结构的能力。与此同时,通过算法训练提高学生的思维能力,通过程序设计的技能训练促进学生的综合应用能力和专业素质的提高。本教材在叙述知识点时力求做到思路清晰、条理清楚、叙述简练,使学生易理解,教师易讲授。为了让学生能应用本课程的知识,每章除了常规的习题外,还精心设计了实践题。
作者简介
暂缺《数据结构》作者简介
目录
第1章 绪论
1.1 数据结构
1.1.1 用计算机求解问题与数据结构
1.1.2 基本概念和术语
1.1.3 数据的逻辑结构
1.1.4 数据的存储结构
1.1.5 数据的运算
1.2 数据类型与抽象数据类型
1.3 算法和算法分析
1.3.1 算法的概念
1.3.2 算法的描述
1.3.3 算法的时间和空间复杂度
小结
习题
第2章 线·性表
2.1 线性表的基本概念
2.1.1 线性表的定义
2.1.2 线性表的特点
2.1.3 线性表的抽象数据类型
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.1.1 栈的基本概念
3.1.2 栈的存储结构和操作实现
3.1.3 栈的应用实例——表达式求值
3.2 队列
3.2.1 队列的基本概念
3.2.2 队列的存储结构和操作实现
3.2.3 队列的应用实例——舞伴问题
小结
习题
第4章 字符串、数组和矩阵
4.1 串
4.1.1 串的基本概念和抽象数据类型
4.1.2 串的静态存储和操作实现
4.1.3 串的动态存储和操作实现
4.2 串的模式匹配
4.2.1 Brute-Force算法
4.2.2 KMP算法
4.3 数组
4.3.1 数组的定义
4.3.2 数组的顺序存储及实现
4.4 矩阵的压缩存储
4.4.1 特殊矩阵的压缩存储
4.4.2 稀疏矩阵的压缩存储
小结
习题
第5章 树和二叉树
5.1 树和二叉树的基本概念
5.1.1 树的定义及相关术语
5.1.2 二叉树的定义及特殊二叉树
5.2 二叉树的性质和存储结构
5.2.1 二叉树的性质
5.2.2 二叉树的存储结构
5.3 二叉树的遍历及线索化
5.3.1 遍历二叉树
5.3.2 线索二叉树
5.4 树和森林
5.4.1 树的存储结构
5.4.2 树、森林与二叉树的转换
5.4.3 树及森林的遍历
5.5 最优二叉树及哈夫曼编码
5.5.1 哈夫曼树的基本概念及其构造
5.5.2 哈夫曼树的应用——哈夫曼编码
5.5.3 哈夫曼树的构造算法及哈夫曼编码算法
5.6 应用实例
小结
习题
第6章 图
6.1 图的基本概念
6.1.1 图的定义
6.1.2 相关术语
6.2 图的存储结构
6.2.1 图的顺序存储——邻接矩阵
6.2.2 图的链式存储——邻接表
6.3 图的遍历
6.3.1 深度优先遍历
6.3.2 广度优先遍历
6.3.3 遍历的应用
6.4 最小生成树
6.5 拓扑排序
6.6 最短路径
6.7 关键路径
6.8 应用实例
小结
习题
第7章 查找
7.1 查找的基本概念
7.2 静态查找表
7.2.1 顺序查找
7.2.2 折半查找
7.2.3 分块查找
7.3 动态查找表
7.3.1 二叉排序树
7.3.2 平衡二叉树
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 归并排序
小结
习题
第9章 数据结构应用实例
9.1 抽象数据类型与程序设计
9.2 从问题到程序的求解过程
9.3 应用实例
小结
习题
1.1 数据结构
1.1.1 用计算机求解问题与数据结构
1.1.2 基本概念和术语
1.1.3 数据的逻辑结构
1.1.4 数据的存储结构
1.1.5 数据的运算
1.2 数据类型与抽象数据类型
1.3 算法和算法分析
1.3.1 算法的概念
1.3.2 算法的描述
1.3.3 算法的时间和空间复杂度
小结
习题
第2章 线·性表
2.1 线性表的基本概念
2.1.1 线性表的定义
2.1.2 线性表的特点
2.1.3 线性表的抽象数据类型
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.1.1 栈的基本概念
3.1.2 栈的存储结构和操作实现
3.1.3 栈的应用实例——表达式求值
3.2 队列
3.2.1 队列的基本概念
3.2.2 队列的存储结构和操作实现
3.2.3 队列的应用实例——舞伴问题
小结
习题
第4章 字符串、数组和矩阵
4.1 串
4.1.1 串的基本概念和抽象数据类型
4.1.2 串的静态存储和操作实现
4.1.3 串的动态存储和操作实现
4.2 串的模式匹配
4.2.1 Brute-Force算法
4.2.2 KMP算法
4.3 数组
4.3.1 数组的定义
4.3.2 数组的顺序存储及实现
4.4 矩阵的压缩存储
4.4.1 特殊矩阵的压缩存储
4.4.2 稀疏矩阵的压缩存储
小结
习题
第5章 树和二叉树
5.1 树和二叉树的基本概念
5.1.1 树的定义及相关术语
5.1.2 二叉树的定义及特殊二叉树
5.2 二叉树的性质和存储结构
5.2.1 二叉树的性质
5.2.2 二叉树的存储结构
5.3 二叉树的遍历及线索化
5.3.1 遍历二叉树
5.3.2 线索二叉树
5.4 树和森林
5.4.1 树的存储结构
5.4.2 树、森林与二叉树的转换
5.4.3 树及森林的遍历
5.5 最优二叉树及哈夫曼编码
5.5.1 哈夫曼树的基本概念及其构造
5.5.2 哈夫曼树的应用——哈夫曼编码
5.5.3 哈夫曼树的构造算法及哈夫曼编码算法
5.6 应用实例
小结
习题
第6章 图
6.1 图的基本概念
6.1.1 图的定义
6.1.2 相关术语
6.2 图的存储结构
6.2.1 图的顺序存储——邻接矩阵
6.2.2 图的链式存储——邻接表
6.3 图的遍历
6.3.1 深度优先遍历
6.3.2 广度优先遍历
6.3.3 遍历的应用
6.4 最小生成树
6.5 拓扑排序
6.6 最短路径
6.7 关键路径
6.8 应用实例
小结
习题
第7章 查找
7.1 查找的基本概念
7.2 静态查找表
7.2.1 顺序查找
7.2.2 折半查找
7.2.3 分块查找
7.3 动态查找表
7.3.1 二叉排序树
7.3.2 平衡二叉树
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 归并排序
小结
习题
第9章 数据结构应用实例
9.1 抽象数据类型与程序设计
9.2 从问题到程序的求解过程
9.3 应用实例
小结
习题
猜您喜欢