失效链接处理 |
趣学数据结构 PDF 下载
本站整理下载:
版权归出版社和原作者所有,链接已删除,请购买正版
用户下载说明:
电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍:
http://product.dangdang.com/27914358.html
相关截图:
资料简介: 本书基于C 语言编写,从趣味故事引入算法复杂性计算及数据结构基础内容,涵盖线性结构、树形结构和图形结构,包括链表、栈和队列、树和图的应用等。本书内容还涉及数据结构的基本应用(包括各种查找、排序等)和高级应用(包括优先队列、并查集、B-树、B 树和红黑树等)。通过大量图解将抽象数据模型简单通俗化,语言表述浅显易懂,并结合有趣的实例帮助读者轻松掌握数据结构。 资料目录: 第 1章 数据结构入门 1 1.1 数据结构基础知识 2 1.2 算法复杂度 10 1.3 一棋盘麦子 17 1.4 神奇魔鬼序列 18 1.5 本章要点 23 第 2章 线性表 24 2.1 顺序表 25 2.1.1 静态分配 25 2.1.2 动态分配 26 2.1.3 顺序表的基本操作 28 2.2 单链表 35 2.2.1 单链表的存储方式 35 2.2.2 单链表的基本操作 37 2.3 双向链表 48 2.3.1 双向链表的存储方式 48 2.3.2 双向链表的基本操作 48 2.4 循环链表 54 2.5 线性表的应用 55 2.5.1 合并有序顺序表 55 2.5.2 合并有序链表 60 2.5.3 就地逆置单链表 64 2.5.4 查找链表的中间节点 68 2.5.5 删除链表中的重复元素 71 2.6 线性表学习秘籍 75 第3章 栈和队列 78 3.1 顺序栈 79 3.2 链栈 83 3.3 顺序队列 87 3.3.1 顺序队列的定义 88 3.3.2 循环队列的定义 92 3.3.3 循环队列的基本操作 96 3.4 链队列 98 3.5 栈和队列的应用 102 3.5.1 数制的转换 102 3.5.2 回文判定 104 3.5.3 双端队列 106 3.6 栈和队列学习秘籍 116 第4章 字符串 121 4.1 字符串 122 4.2 模式匹配BF算法 124 4.3 模式匹配KMP算法 128 4.4 改进的KMP算法 133 4.5 字符串的应用——病毒检测 135 4.6 字符串学习秘籍 137 第5章 数组与广义表 139 5.1 数组的顺序存储 140 5.2 特殊矩阵的压缩存储 143 5.2.1 对称矩阵 143 5.2.2 三角矩阵 145 5.2.3 对角矩阵 146 5.2.4 稀疏矩阵 150 5.3 广义表 151 5.4 好玩贪吃蛇——数字矩阵 151 5.5 数组与广义表学习秘籍 156 第6章 树 158 6.1 树 159 6.1.1 树的定义 159 6.1.2 树的存储结构 162 6.1.3 树、森林与二叉树的转换 165 6.2 二叉树 167 6.2.1 二叉树的性质 168 6.2.2 二叉树的存储结构 173 6.2.3 二叉树的创建 175 6.3 二叉树的遍历 183 6.3.1 先序遍历 183 6.3.2 中序遍历 186 6.3.3 后序遍历 188 6.3.4 层次遍历 192 6.4 线索二叉树 196 6.4.1 线索二叉树存储结构 196 6.4.2 构造线索二叉树 197 6.4.3 遍历线索二叉树 201 6.5 树和森林的遍历 204 6.5.1 树的遍历 204 6.5.2 森林的遍历 209 6.6 树的应用 212 6.6.1 二叉树的深度 212 6.6.2 二叉树的叶子数 213 6.6.3 三元组创建二叉树 214 6.6.4 遍历序列还原树 218 6.6.5 哈夫曼树 223 6.7 树学习秘籍 239 第7章 图 241 7.1 图的基本术语 242 7.2 图的存储结构 249 7.2.1 邻接矩阵 250 7.2.2 邻接表 256 7.2.3 十字链表 266 7.2.4 邻接多重表 268 7.3 图的遍历 270 7.3.1 广度优先搜索 270 7.3.2 深度优先搜索 275 7.4 图的应用 279 7.4.1 单源短路径——Dijkstra 279 7.4.2 各顶点之间短路径——Floyd 287 7.4.3 小生成树——prim 293 7.4.4 小生成树——kruskal 305 7.4.5 拓扑排序 308 7.4.6 关键路径 316 7.5 图学习秘籍 324 第8章 查找 327 8.1 线性表查找 328 8.1.1 顺序查找 328 8.1.2 折半查找 330 8.2 树表查找 335 8.2.1 二叉查找树 335 8.2.2 平衡二叉查找树 346 8.3 散列表的查找 361 8.3.1 散列函数 361 8.3.2 处理冲突的方法 364 8.3.3 散列查找及性能分析 376 8.4 查找学习秘籍 378 第9章 排序 379 9.1 插入排序 381 9.1.1 直接插入排序 381 9.1.2 希尔排序 387 9.2 交换排序 389 9.2.1 冒泡排序 389 9.2.2 快速排序 392 9.3 选择排序 401 9.3.1 简单选择排序 401 9.3.2 堆排序 403 9.4 合并排序 412 9.5 分配排序 417 9.5.1 桶排序 417 9.5.2 基数排序 418 9.6 排序学习秘籍 421 第 10章 高级数据结构 425 10.1 并查集 426 10.2 优先队列 430 10.2.1 出队 431 10.2.2 入队 433 10.2.3 构建初始堆 435 10.3 B-树 437 10.3.1 树高与性能 439 10.3.2 查找 440 10.3.3 插入 441 10.3.4 删除 444 10.4 B 树 449 10.4.1 查找 450 10.4.2 插入 451 10.4.3 删除 454 10.5 红黑树 457 10.5.1 红黑树的定义 457 10.5.2 树高与性能 458 10.5.3 红黑树与4阶B树 459 10.5.4 查找 460 10.5.5 插入 460 10.5.6 删除 466 10.6 高级数据结构学习秘籍 476 |