关于本书的内容有任何问题,请联系 许金霞
目 录 第 1章 概论 1 1.1 数据结构的概念 1 1.2 数据结构的组成与分类 2 1.2.1 数据的逻辑结构 2 1.2.2 数据的存储结构 3 1.2.3 数据的运算(集合) 5 1.3 数据类型与抽象数据类型 5 1.3.1 数据类型 5 1.3.2 抽象数据类型 6 1.4 算法的概念与描述 7 1.4.1 算法的概念 7 1.4.2 算法的描述 8 1.5 算法分析 14 1.5.1 算法性能的评价标准 14 1.5.2 算法的复杂度 15 1.6 本章小结 18 习题 19 第 2章 顺序表 20 2.1 向量 21 2.1.1 向量的存储与运算 21 2.1.2 目录表 24 2.2 栈 25 2.2.1 栈的定义与基本操作 25 2.2.2 顺序栈 27 2.3 栈与递归 30 2.3.1 递归的概念 30 2.3.2 递归过程的实现 32 *2.3.3 递归过程到非递归过程的转换 33 2.4 队列 38 2.4.1 队列的定义与基本操作 38 2.4.2 顺序队列 40 2.5 应用举例 43 2.5.1 向量应用——约瑟夫斯问题 43 2.5.2 栈的应用—— 括号匹配的检验与数制转换 46 2.5.3 队列应用—— 输出杨辉三角形 52 2.6 本章小结 55 习题 56 第3章 链表 57 3.1 单链表 57 3.1.1 单链表的概念 57 3.1.2 单链表的存储描述 58 3.1.3 在单链表上实现的基本运算 59 3.1.4 带表头结点的单链表 62 3.2 栈和队列的链接存储表示 63 3.2.1 链栈 63 3.2.2 链队列 64 3.3 循环链表 66 3.4 双链表 67 3.4.1 双链表的概念 67 3.4.2 带表头结点的双循环链表 68 3.4.3 双循环链表的基本操作 68 3.5 应用举例 70 3.5.1 消除链表中的重复数据 70 3.5.2 用循环链表求解约瑟夫斯问题 73 3.6 本章小结 75 习题 76 第4章 串 77 4.1 串的基本概念 77 4.2 串的存储结构 78 4.2.1 顺序存储 78 4.2.2 链接存储 79 4.3 串的操作 80 4.4 模式匹配 82 4.4.1 Brute-Force算法 82 4.4.2 KMP算法 84 4.5 应用举例 88 4.6 本章小结 89 习题 90 第5章 树形结构 91 5.1 树形结构的概念 91 5.1.1 树的概念 91 5.1.2 二叉树的概念 93 5.1.3 树、森林与二叉树之间的相互转换 95 5.1.4 树形结构的遍历 97 5.2 树形结构的存储方式 99 5.2.1 链式存储 100 5.2.2 顺序存储 101 5.3 二叉树的遍历算法 106 5.3.1 遍历二叉树的非递归算法 106 5.3.2 遍历二叉树的递归算法 110 5.3.3 二叉树遍历的应用举例 111 5.4 线索二叉树 111 5.4.1 线索二叉树的概念 111 5.4.2 二叉树的线索化 112 5.4.3 线索二叉树的遍历 114 5.4.4 线索二叉树的插入 117 5.5 堆 118 5.5.1 堆的定义 118 5.5.2 堆的构造 119 5.5.3 堆的插入与删除 121 5.6 哈夫曼树 123 5.6.1 扩充的二叉树 123 5.6.2 哈夫曼树 124 5.6.3 哈夫曼树的应用举例 128 5.7 应用举例 130 5.7.1 判定树的应用——伪币鉴别问题 130 5.7.2 集合的表示与并查集 131 5.7.3 建立二叉树及遍历 133 5.8 本章小结 135 习题 136 第6章 图 139 6.1 图的概念 139 6.2 图的存储表示 141 6.2.1 邻接矩阵表示法 141 6.2.2 邻接表表示法 143 6.2.3 邻接多重表表示法 145 6.3 图的遍历 146 6.3.1 深度优先遍历 147 6.3.2 广度优先遍历 149 6.4 **小(代价)生成树 151 6.4.1 普里姆算法 152 6.4.2 克鲁斯卡尔算法 154 6.5 **短路径问题 157 6.5.1 单源**短路径 157 6.5.2 每对顶点间的**短路径 160 6.6 拓扑排序 163 6.7 关键路径 169 6.8 本章小结 173 习题 174 第7章 多维数组和广义表 177 7.1 多维数组 177 7.2 矩阵的压缩存储 179 7.2.1 特殊矩阵 179 7.2.2 稀疏矩阵 181 7.3 广义表 186 7.3.1 广义表的概念 186 7.3.2 广义表的存储结构 188 7.3.3 广义表的运算 191 7.4 本章小结 193 习题 193 第8章 排序 195 8.1 基本概念 195 8.2 插入排序 196 8.2.1 直接插入排序 197 8.2.2 希尔排序 198 *8.2.3 其他插入排序 200 8.3 交换排序 204 8.3.1 冒泡排序 205 8.3.2 快速排序 206 8.4 选择排序 209 8.4.1 直接选择排序 209 8.4.2 树形选择排序 211 8.4.3 堆排序 213 8.5 归并排序 215 8.6 基数排序 218 8.6.1 多排序码排序 218 8.6.2 基数排序 219 *8.7 外排序 223 8.7.1 2路平衡归并 223 8.7.2 k路平衡归并与败者树 224 8.7.3 **佳归并树 226 8.8 本章小结 228 习题 229 第9章 查找 230 9.1 基本概念 230 9.2 线性表的查找 231 9.2.1 顺序查找 231 9.2.2 折半查找 232 9.2.3 分块查找 235 9.3 树形表的查找 237 9.3.1 二叉排序树 237 9.3.2 **佳二叉排序树 242 9.3.3 AVL树 245 9.3.4 B-树与B+树 252 9.4 散列表的查找 261 9.4.1 基本概念 261 9.4.2 散列函数 264 9.4.3 冲突的解决 266 9.4.4 散列查找的性能 271 9.5 本章小结 272 习题 273 第 10章 文件 275 10.1 文件的基本概念 275 10.2 顺序文件 277 10.3 索引文件 277 10.4 索引顺序文件 279 10.4.1 ISAM文件 279 10.4.2 VSAM文件 281 10.5 散列文件 282 10.6 多关键字文件 283 10.6.1 多重表文件 283 10.6.2 倒排文件 284 10.7 本章小结 285 习题 286 附录A Visual C++ 6.0集成开发环境介绍 287 附录B 常用字符与ASCII码对照表 290 参考文献 291
本书作为Java Web程序设计的大学教程,对Java EE编程技术进行了系统全面的介绍。全书共分14章。首先...
本书以C++语言为环境,重点讲授程序设计的思想和方法,包括过程化的程序设计和面向对象的程序设计,且本书非常强调...
本书依据教育部高等学校计算机基础课程教学指导委员会提出的《关于进一步加强高校计算机基础教学的意见》中有关“网页...
本书共分10章,主要包括第1章绪论,第2章线性表,第3章栈和队列,第4章串,第5章数组和广义表,第6章 树和二...
本书全面系统地介绍了多媒体技术的基础知识与应用软件的使用。全书共5章。第1章多媒体技术概论讲述了多媒体技术的基...
本书对数据库系统的概念、原理、技术和方法进行系统、全面的阐述。本书共14章,内容包括数据库概述、关系数据库、关...
本书系统地阐述了人工智能算法的基本原理、实现技术及其应用,基本涵盖了其重要理论和方法,包括了最近发展起来的并被...
本书按照典型的软件开发过程组织和编写内容,旨在培养读者具备软件工程思想及实际软件开发的能力。全书共11章, 内...
本书以实践为导向,将理论与实践相结合,深入浅出地介绍了使用Python与OpenCV进行计算机视觉实践的基本知...
本书较为全面地介绍了脑科学、神经科学的基本概念、知识和理论,以及脑科学、神经科学等方面的新成果和新发现。全书共...
我要评论