关于本书的内容有任何问题,请联系 刘博
目 录 第 1章 绪论 1 1.1 学习数据结构的意义 1 1.2 基本概念 3 1.2.1 数据和数据结构 3 1.2.2 数据类型 5 1.2.3 抽象数据类型 5 1.2.4 数据结构的符号描述举例 6 1.3 算法和算法描述 7 1.3.1 算法概念和特征 7 1.3.2 算法设计要求 8 1.3.3 算法描述 8 1.4 算法的性能分析 9 1.4.1 时间复杂度 9 1.4.2 空间复杂度 11 1.4.3 分析算法时间复杂度举例 11 习题 12 第 2章 线性表 14 2.1 线性表的含义及ADT描述 14 2.2 顺序存储结构 16 2.2.1 顺序表的存储表示 16 2.2.2 顺序表的基本操作的实现 17 2.2.3 顺序表的基本操作的时间复杂度分析 22 2.2.4 顺序表的优缺点 22 2.2.5 顺序存储结构的应用 23 2.3 链式存储结构 25 2.3.1 单链表的存储表示 25 2.3.2 单链表基本操作的实现 26 2.3.3 循环链表的表示和基本操作的实现 34 2.3.4 双向循环链表的表示和基本操作的实现 37 2.3.5 链式存储结构的应用 38 习题 42 第3章 栈和队列 44 3.1 栈 44 3.1.1 栈的定义及ADT描述 44 3.1.2 栈的顺序存储结构 45 3.1.3 栈的链式存储结构 47 3.1.4 栈的应用 49 3.2 队列 52 3.2.1 队列的定义及ADT描述 52 3.2.2 队列的顺序存储结构 54 3.2.3 队列的链式存储结构 56 3.2.4 队列的应用 58 习题 64 第4章 串和数组 67 4.1 串 67 4.1.1 串的定义及ADT描述 67 4.1.2 串的存储结构 69 4.1.3 常见串函数 70 4.1.4 串的应用举例 73 4.2 数组 75 4.2.1 数组的定义及ADT描述 75 4.2.2 数组的存储结构 77 4.2.3 矩阵的压缩存储 79 4.2.4 矩阵转置 87 4.2.5 数组的应用举例 90 习题 93 第5章 树和二叉树 95 5.1 树 95 5.1.1 树的概念及ADT描述 95 5.1.2 树的存储结构 97 5.1.3 综合应用举例 100 5.2 二叉树 102 5.2.1 二叉树的概念及ADT描述 102 5.2.2 二叉树的性质 103 5.2.3 二叉树的存储结构 106 5.2.4 遍历二叉树 108 5.2.5 遍历算法的应用 110 5.2.6 树、森林与二叉树的转换 113 5.2.7 二叉树的综合应用 116 5.3 树和森林的遍历 121 5.3.1 树的遍历 121 5.3.2 森林的遍历 122 5.3.3 树和森林的遍历应用 123 5.4 哈夫曼树及应用 124 5.4.1 哈夫曼树 124 5.4.2 判定树 126 5.4.3 前缀编码 127 习题 129 第6章 图 131 6.1 图的概述 131 6.1.1 图的概念 131 6.1.2 图的ADT描述 133 6.2 图的存储结构 134 6.2.1 邻接矩阵 134 6.2.2 邻接表 139 6.2.3 应用举例 146 6.3 图的遍历 147 6.3.1 深度优先遍历 147 6.3.2 广度优先遍历 148 6.3.3 应用举例 149 6.4 **小生成树问题 150 6.4.1 图的生成树和**小生成树 150 6.4.2 **小生成树构造 151 6.4.3 应用举例 155 6.5 有向无环图及应用 156 6.5.1 基本定义 156 6.5.2 拓扑排序 157 6.5.3 关键路径 160 习题 163 第7章 查找 165 7.1 基本概念 165 7.2 静态查找 166 7.2.1 顺序查找 166 7.2.2 折半查找 168 7.2.3 折半查找应用举例 170 7.3 动态查找 171 7.3.1 二叉排序树 171 7.3.2 二叉排序树的查找 172 7.3.3 二叉排序树的插入 173 7.3.4 二叉排序树的删除 175 7.3.5 二叉排序树的应用举例 178 7.4 哈希表 179 7.4.1 哈希表的概念 179 7.4.2 哈希函数的构造 180 7.4.3 冲突处理的方法 181 7.4.4 哈希表查找及其分析 184 7.4.5 哈希表查找应用举例 185 习题 186 第8章 排序 188 8.1 基本概念 188 8.2 插入排序 189 8.2.1 直接插入排序 189 8.2.2 希尔排序 191 8.2.3 应用举例 193 8.3 交换排序 194 8.3.1 冒泡排序 194 8.3.2 快速排序 196 8.3.3 应用举例 199 8.4 选择排序 200 8.4.1 简单选择排序 201 8.4.2 堆排序 202 8.4.3 应用举例 205 8.5 归并排序 208 8.5.1 归并排序的基本思想 208 8.5.2 2-路归并排序算法 209 8.5.3 应用举例 210 8.6 基数排序 211 8.6.1 基数排序的基本思想 211 8.6.2 链式基数排序算法 215 8.6.3 应用举例 217 8.6.4 排序方法简单比较 218 习题 218 参考文献 220
本书作为Java Web程序设计的大学教程,对Java EE编程技术进行了系统全面的介绍。全书共分14章。首先...
本书以C++语言为环境,重点讲授程序设计的思想和方法,包括过程化的程序设计和面向对象的程序设计,且本书非常强调...
本书依据教育部高等学校计算机基础课程教学指导委员会提出的《关于进一步加强高校计算机基础教学的意见》中有关“网页...
本书共分10章,主要包括第1章绪论,第2章线性表,第3章栈和队列,第4章串,第5章数组和广义表,第6章 树和二...
本书全面系统地介绍了多媒体技术的基础知识与应用软件的使用。全书共5章。第1章多媒体技术概论讲述了多媒体技术的基...
...
本书是根据教育部高等学校大学计算机课程教学指导委员会编制的新时代大学计算机基础课程教学基本要求、新的《全国计算...
本书是《数据库原理及应用教程(MySQL版)(微课版)》的配套教材,共17章,主要内容包括:数据库系统概述,关...
本书以当前流行的MySQL为平台,系统介绍MySQL数据库及其应用开发,全书内容分为4个部分。第一部分MySQ...
本书系统地讲解与数据库相关的基本理论和主要技术,内容包括数据库基础、数据模型与关系数据库、数据库标准语言SQL...
我要评论