新書推薦:
《
知宋·宋代之科举
》
售價:NT$
454.0
《
那本书是(吉竹伸介与又吉直树 天才联动!)
》
售價:NT$
454.0
《
传播的跃迁:人工智能如何革新人类的交流
》
售價:NT$
505.0
《
纯粹·古代中国的历史与制度
》
售價:NT$
286.0
《
生活来来往往 别等来日方长 新版(伍佰:“讲好了这一辈子,再度重相逢。”别等,别遗憾!珍惜当下才是最好的解药)
》
售價:NT$
265.0
《
一个英国军事顾问眼中的二战
》
售價:NT$
1265.0
《
就业、利息和货币通论(徐毓枬译本)(经济学名著译丛)
》
售價:NT$
306.0
《
瘦肝
》
售價:NT$
454.0
|
內容簡介: |
本书共分为10章。第l章主要介绍数据结构的概念和基本内涵;第2章主要介绍衡量算法的方法;第3章主要介绍线性表结构及其算法实现;第4章在线性表结构的基础上,引出两种特殊的线性表——栈和队列;第5章主要介绍串结构;第6章主要介绍数组与广义表;第7章主要介绍树形结构及其基本操作;第8章主要介绍图形结构,以及遍历、最短路径、关键路径等算法;第9章主要介绍几种排序算法,并对它们的性能进行分析;第10章主要介绍查找,其涵盖了数据结构中常用的查找算法。 本书既可作为高等院校数据结构课程的教材,也可作为机器学习、深度学习、自然语言处理等领域的专业参考资料。
|
目錄:
|
第1章 概述
1.1 数据结构概述
1.2 基本概念和术语
1.2.1 数据
1.2.2 数据元素
1.2.3 数据项
1.2.4 数据对象
1.2.5 数据结构
1.2.6 数据的逻辑结构
1.2.7 数据的物理结构
1.2.8 数据类型
课后习题
第2章 算法
2.1 算法的定义和特性
2.2 设计算法的要求
2.3 算法的效率
2.4 算法复杂度
2.4.1 算法时间复杂度
2.4.2 最好情况、最坏情况与平均情况
2.4.3 算法空间复杂度
课后习题
第3章 线性表
3.1 线性表的定义
3.2 线性表的抽象数据类型定义
3.3 线性表的存储结构
3.4 顺序存储结构的插入与删除
3.5 线性表的链式存储结构
3.5.1 线性表链式存储定义
3.5.2 线性表链式存储结构
3.5.3 线性表链式存储结构代码描述
3.6 单链表的操作
3.6.1 单链表的查找
3.6.2 单链表的插入与删除
3.6.3 单链表的整表创建
3.7 顺序表与链表的比较
3.8 单循环链表
3.9 双向链表
课后习题
第4章 栈和队列
4.1 栈的定义和抽象数据类型
4.2 栈的存储结构及实现
4.2.1 栈的顺序存储结构及实现
4.2.2 栈的链式存储结构及实现
4.3 栈的应用
4.3.1 后缀(逆波兰)表达式
4.3.2 中缀表达式转为后缀表达式
4.4 队列的定义和抽象数据类型
4.5 链队列——队列的链式表示和实现
4.6 循环队列——队列的顺序表示和实现
课后习题
第5章 串
5.1 串的定义和抽象数据类型
5.2 串的存储结构
5.2.1 串的顺序存储结构
5.2.2 串的链式存储结构
5.3 串的模式匹配算法
5.3.1 朴素的模式匹配算法
5.3.2 KMP算法
课后习题
第6章 数组与广义表
6.1 数组的定义
6.2 数组的顺序存储
6.3 矩阵的压缩存储
6.3.1 特殊矩阵的压缩存储
6.3.2 稀疏矩阵
6.4 广义表
6.4.1 广义表的定义
6.4.2 广义表的性质
6.4.3 广义表的运算
6.4.4 广义表的存储结构
课后习题
第7章 树
7.1 树的定义及相关概念
7.1.1 树的定义
7.1.2 树的图解方法
7.1.3 树的基本术语
7.1.4 树的抽象数据类型
7.1.5 树的存储结构
7.2 二叉树的基础知识
7.2.1 二叉树定义
7.2.2 特殊二叉树
7.2.3 二叉树性质
7.2.4 二叉树的存储结构
7.3 遍历及其线索化二叉树
7.3.1 遍历方式介绍
7.3.2 三种遍历方式的优化
7.3.3 线索二叉树
7.4 二叉树与树、森林的互相转换
7.4.1 互相转换树与二叉树
7.4.2 互相转换森林与二叉树
7.4.3 树、森林的遍历
7.5 哈夫曼树应用
7.5.1 哈夫曼树的基本概念
7.5.2 哈夫曼树的构造
7.5.3 哈夫曼编码
课后习题
第8章 图
8.1 图的定义及相关概念
8.1.1 图的定义
8.1.2 图的基本术语
8.1.3 图的抽象数据类型
8.2 图的存储结构
8.2.1 邻接矩阵表示法
8.2.2 邻接表表示法
8.2.3 十字链表
8.2.4 邻接多重表
8.3 图的遍历算法
8.3.1 深度优先遍历算法
8.3.2 广度优先遍历算法
8.4 最小生成树
8.4.1 普利姆算法
8.4.2 克鲁斯卡尔算法
8.5 最短路径
8.5.1 单源路径问题——迪杰斯特拉算法
8.5.2 任意一对顶点间的最短路径——弗洛伊德算法
8.6 拓扑排序
8.7 关键路径
8.7.1 AOE网
8.7.2 关键路径算法
课后习题
第9章 排序
9.1 排序的基本概念
9.1.1 定义
9.1.2 排序的稳定性
9.1.3 排序算法的分类
9.2 直接插入排序
9.2.1 直接插入排序原理
9.2.2 直接插入排序代码实现
9.2.3 直接插入排序性能分析
9.3 折半插入排序
9.3.1 折半插入排序原理
9.3.2 折半插入排序代码实现
9.3.3 折半插入排序性能分析
9.4 希尔排序
9.4.1 希尔排序原理
9.4.2 希尔排序代码实现
9.4.3 希尔排序性能分析
9.5 冒泡排序
9.5.1 冒泡排序原理
9.5.2 冒泡排序代码实现
9.5.3 冒泡排序性能分析
9.6 快速排序
9.6.1 快速排序原理
9.6.2 快速排序代码实现
9.6.3 快速排序性能分析
9.7 简单选择排序
9.7.1 简单选择排序原理
9.7.2 简单选择排序代码实现
9.7.3 简单选择排序性能分析
9.8 堆排序
9.8.1 堆排序原理
9.8.2 堆排序代码实现
9.8.3 堆排序性能分析
9.9 归并排序
9.9.1 归并排序原理
9.9.2 归并排序代码实现
9.9.3 归并排序性能分析
9.10 排序总结
9.10.1 时间复杂度
9.10.2 空间复杂度
9.10.3 稳定性
9.10.4 排序算法的应用课后习题……第10章 查找参考文献
|
|