首页
首页
BOT
沸点
课程
直播
活动
AI刷题
NEW
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
《数据结构》(C++语言版)(第3版)读书笔记
Steven_Wu
创建于2023-02-07
订阅专栏
本专栏收录自己在学习这本书时的读书笔记,笔记逻辑框架遵循书本,记录书中的重点和自己的学习心得,笔记图片和代码主要取自书本
暂无订阅
共39篇文章
创建于2023-02-07
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
数据结构 | 第12章 快速排序
第12章 排序 此前各章已结合具体的数据结构,循序渐进地介绍过多种基本的排序算法:2.8节和3.5节分别针对向量和列表,统一以排序器的形式实现过起泡排序、归并排序、插入排序以及选择排序等算法;9.4.
数据结构 | 第11章 串 - KMP算法
11.3 KMP算法 11.3.1 构思 蛮力算法中存在大量的局部匹配:每一轮的m次比对中,仅最后一次可能失配。而一旦发现失配,文本串、模式串的字符指针都要回退,并从头开始下一轮尝试。实际上,这类重复
数据结构 | 第11章 串 - 概述
第11章 串 串或字符串 (string) 属于线性结构,自然地可直接利用向量或列表等序列结构加以实现,但字符串作为数据结构,特点也极其鲜明,这可归纳为:结构简单,规模庞大,元素重复率高。 以字符串形
数据结构 | 第10章 优先级队列 - 堆
10.2 堆 列表或向量等结构的实现方式,对优先级的理解过于机械,始终都保存了全体词条之间的全序关系,故无法同时保证insert()和delMax()操作的高效率。比如执行delMax()操作时,只要
数据结构 | 第10章 优先级队列 - 概述
第10章 优先级队列 此前的搜索树结构和词典结构,都支持覆盖数据全集的访问和操作——其中存储的每一数据对象都可作为查找和访问目标。为此,搜索树结构需要在所有元素之间定义并维护一个显式的全序 (full
数据结构 | 第9章 词典 - 散列表 (hashtable)(下)
9.3.5 冲突及其排解 冲突的普遍性 散列表的基本构思,可概括为: 开辟物理地址连续的桶数组ht[],借助散列函数hash(),将词条关键码key映射为桶地址hash(key),从而快速地确定待操作
数据结构 | 第9章 词典 - 散列表 (hashtable)(上)
9.3 散列表 以下将围绕散列、散列函数以及冲突排解三个主题,逐层深入地展开介绍。 9.3.1 完美散列 散列表 散列表(hashtable)是散列方法的底层基础,逻辑上由一系列可存放词条(或其引用)
数据结构 | 第9章 词典 - 概述
第9章 词典 借助数据结构来表示和组织的数字信息,可将所有数据视作一个整体统筹处理,进而提高信息访问的规范性及其处理的效率。例如,借助关键码直接查找和访问数据元素的形式,已为越来越多的数据结构所采用,
数据结构 | 第8章 - 红黑树(下)
8.3.4 节点删除算法 节点删除与双黑现象 代码8.18 红黑树remove()接口: 如代码8.18所示,为删除关键码e,首先调用标准接口BST::search(e),查找目标节点x。 若查找成功
数据结构 | 第8章 - 红黑树(中)
8.3.2 红黑树接口定义 基于BST定义的红黑树接口: 基用以简化红黑树算法描述的宏: 红黑树节点的黑高度更新: 8.3.3 节点插入算法 节点插入与双红现象 如代码8.16所示,不妨假定经调用接口
数据结构 | 第8章 - 红黑树(上)
8.3 红黑树 平衡二叉搜索树的形式多样,且各具特色。 比如,8.1节的伸展树实现简便、无需修改节点结构、分摊复杂度低,但可惜最坏情况下的单次操作需要Ω(n)时间,故难以适用于核电站、医院等对可靠性和
数据结构 | 第8章 - B-树(下)
8.2.5 关键码插入 插入失败:首先调用search(e)在树中查找该关键码。若查找成功,则不予插入,操作完成并返回false。 插入成功:查找过程必然终止于某一外部节点v,且其父节点由变量 _ho
数据结构 | 第8章 - B-树(中)
8.2.2 ADT接口及其实现 节点 这里,同一节点的所有孩子组织为一个向量,各相邻孩子之间的关键码也组织为一个向量。当然,按照B-树的定义,孩子向量的实际长度总是比关键码向量多一。 B-树 后面将会
数据结构 | 第8章 - B-树(上)
8.2 B-树 8.2.1 多路平衡查找 分级存储 计算机存储能力提高速度相对滞后,是长期存在的现象,而且随着时间的推移,这一矛盾将日益凸显。鉴于在同等成本下,存储器的容量越大(小)则访问速度越慢(快
数据结构 | 第8章 - 伸展树
第8章 高级搜索树 8.1 伸展树 与前一章的AVL树一样,伸展树(splay tree)也是平衡二叉搜索树的一种形式。相当于前者,后者的实现更为简捷。伸展树无需时刻都严格地保持全树的平衡,但却能够在
数据结构 | 第7章 - AVL树
7.4 AVL树 在渐进意义下,AVL树可始终将其高度控制在O(logn)以内,从而保证每次查找、插入或删除操作,均可在O(logn)的时间内完成。 定义与性质 平衡因子 任一节点v的平衡因子(bal
数据结构 | 第7章 - 平衡二叉搜索树
7.3 平衡二叉搜索树 树高与性能 树高与性能 若不能有效控制树高,则就实际的性能而言,较之此前的向量和列表,二叉搜索树将无法体现出明显优势。 随机生成 n个互异关键码随机生成一颗二叉搜索树。(ran
数据结构 | 第7章 - 二叉搜索树
第7章 搜索树 总之,若既要求对象集合的组成可以高效率地动态调整,同时也要求能够高效率地查找,则以上线性结构(如向量、列表、栈和队列),均难以胜任。 那么,高效率的动态修改和高效率的静态查找,究竟能否
数据结构 | 第6章 最短路径
6.11 最短路径 最短路径问题: 给定带权网络G = (V, E),以及源点(source)s∈V,对于所有的其它顶点v,s到v的最短通路有多长?该通路由哪些边构成? 最短路径树: 单调性:最短路径
数据结构 | 第6章 最小支撑树
6.10 最小支撑树 支撑树: 如图6.18所示,连通图G的某一无环连通子图T若覆盖G中所有的顶点,则称作G的一棵支撑树或生成树(spanning tree)。 就保留原图中边的数目而言,支撑树既是“
下一页