
数据结构
记录分享学习408数据结构的日常,一起学习,一起成长!
释放:
这个作者很懒,什么都没留下…
展开
-
408数据结构——最佳归并树
非叶子结点的权值之和=wpl原来是以随机的形式,二路归并形成归并树为了wpl更低,我们以哈夫曼树的形式来构建我的理解:就是找最小的三个结点,进行归并错误做法正确做法原创 2025-02-13 15:41:40 · 393 阅读 · 0 评论 -
408数据结构——置换_选择排序
最坏情况: 就是待排序文件是逆序,每次都马桶堵三个!回到了土办法。需要8个归并段。让普通归并段,代替了,初始化归并段原创 2025-02-13 15:06:14 · 365 阅读 · 0 评论 -
408数据结构——外部排序(败者树)
败者树存在的意义是为了解决 多路归并 找到一个元素 需要多次比较的问题。比如 8个有序段,找到第一个最小元素,整行需要比7次但用了败者树,只需要log28=3次。原创 2025-02-13 11:33:18 · 244 阅读 · 0 评论 -
408数据结构——外部排序
我的理解:就是分成磁盘块进行读写操作!我的理解:先生成归并段,然后进行n次归并。每次进行16次读,16次写是固定的,因为虽然后面分成段了,但是实际上只是形式上,内部还是磁盘块,每次不够了,都需要从另一个磁盘块补过来!,所以每个磁盘块至少读一次,写一次。16个块需要2路归并 4趟,第一次是生成段。32+32*3=128.原创 2025-02-13 09:36:53 · 130 阅读 · 0 评论 -
408数据结构——内部排序的复杂度
快排:找一个枢轴,左边空一个,右边补过来一个。插入排序:比较自由,一直往前试,找到可以插入的位置。选择排序:做标记min,然后最后交换,一趟固定一个。希尔排序:交替分子表计算。堆排:大根堆,小根堆,1.创建,2排序。归并:类似倒二叉树 k^m=N(叶子)冒泡排序:一趟固定一个。原创 2025-02-12 23:08:07 · 86 阅读 · 0 评论 -
408数据结构——基数排序
适用于 N (元素)大、 D和R小。原创 2025-02-12 19:35:00 · 108 阅读 · 0 评论 -
408数据结构——归并排序
就是把两个有序的序列,合并为一个有序的序列。原创 2025-02-12 15:36:18 · 180 阅读 · 0 评论 -
408数据结构——选择排序(堆排序的插入和删除)
类似于HeadJust的逆向,因为他就俩字“ 上升 ”他就是HeadJust,因为他要“ 下坠 ”过程:删掉即被最后一个关键字替代。过程:插到最后,然后一直让他上升。原创 2025-02-11 23:56:15 · 212 阅读 · 0 评论 -
408数据结构——选择排序(堆排序********)
分为大根堆,小根堆,以大根堆为例父节点永远大于他的孩子。这样就形成了一个二叉树的逻辑结构。因此我们产生了下面的疑问!!!!!!!!当我们建立了”大根堆“后,我们可以使用它进行排序。堆排序:就是将“树根”和”最后一个非叶子结点”互换,因此最后一个位置确定。但也因此破坏了“大根堆”,我们要再次调整“树根”(长度会发生变化,因为确定了一个)原创 2025-02-11 23:27:22 · 460 阅读 · 0 评论 -
408数据结构——选择排序(简单版)
插入是,前面虽然有顺序,但是后插入的不确定位置。和冒泡一样,可以确定位置,但是不用交换,两个字” 标点 “、” 标记最小的,最后换 “原创 2025-02-11 21:20:21 · 183 阅读 · 0 评论 -
408数据结构——交换排序(快速排序)(代码考察频率高**)
理解:选择基准(枢轴)元素,然后一直检测不空的那一边,直到需要换位置,然后检测,另一边。(不空的那一边)原创 2025-02-11 19:28:55 · 243 阅读 · 0 评论 -
408数据结构——交换排序(冒泡排序)
冒泡原创 2025-02-11 17:25:08 · 96 阅读 · 0 评论 -
408数据结构——插入排序(希尔排序)
第一个for循环: 控制Di子表的变化。(躺数)第二个for循环:多个子表交替进行的 (子表)(每第一次换的都是子表的最后一个)第三个for循环:该子表进行排序 (对子表插入排序)(子表内元素多就进行多次)原创 2025-02-11 16:47:56 · 252 阅读 · 0 评论 -
408数据结构——插入排序(直接、折半)
无法实现链表。原创 2025-02-11 09:39:59 · 356 阅读 · 0 评论 -
408数据结构——排序的基本概念
了解概念,下面开始内部排序原创 2025-02-10 22:31:19 · 114 阅读 · 0 评论 -
408数据结构——处理冲突的方法(开放定址法)
线性探测法。原创 2025-02-10 16:26:41 · 158 阅读 · 0 评论 -
408数据结构——处理冲突的方法(拉链法)
问:若“冲突”无法避免,那么我们如何处理冲突?拉链法就是美好的选择之一!原创 2025-02-10 15:27:11 · 159 阅读 · 0 评论 -
408数据结构——如何构造一个散列函数?
问:想要减少冲突,我们需要一个合适的散列函数,那么如何构建呢?1.定义域 2.值域 3.分布平均质数:只能被1或者本身整除为什么用质数? 因为没有公因子影响,会更平均。为什么用最接近m?因为越小造成冲突的就越多。学生被开除会造成空间浪费。例如:手机号,身份证,后面四位,出现的机会比较平均,重复较少,就可以当作散列地址。原创 2025-02-10 15:01:54 · 179 阅读 · 0 评论 -
408数据结构——散列表的概念
冲突:将不同的关键字映射到了同一个存储空间的现象。同义词:这两个不同关键字的关系。想要减少冲突,就需要针对问题构造更合适的散列函数!如何构造呢? 下一小节敬请期待!我们如何找到另一个空闲位置呢? 下一小节 敬请期待!原创 2025-02-10 14:34:59 · 182 阅读 · 0 评论 -
408数据结构——树形查找(B+树)
B+ B原创 2025-02-10 14:09:17 · 120 阅读 · 0 评论 -
408数据结构——树形查找(B树的插入删除)
非终端 必然可转化为 终端 删除!理解:实际上前驱就是找77左子树最大的后继就是右子树最小的调整就是根据核心要求。原创 2025-02-10 12:35:07 · 218 阅读 · 0 评论 -
408数据结构——树形查找(B树的定义)
尽量理解原创 2025-02-10 11:31:09 · 158 阅读 · 0 评论 -
408数据结构——树形查找(红黑树的删除)
了解了解了解原创 2025-02-09 21:45:12 · 129 阅读 · 0 评论 -
408数据结构——树形查找(红黑树的插入)
备注:我们实际执行的是两个步骤,第一个:是否是根,是就染黑第二个:不是就染红,然后然是否违反 “不红红” 原则,如果违反进行调整调整: 主要看叔叔的脸黑不黑!染色:颜色取反 爷变新节点:就是看成新插入的继续进行第一个步骤,看是不是根为什么 只用看是否违反“不红红”呢?因为插入已经规范 ”左根右“,“根叶黑” 一定不会 我们只在根插入黑,所以不会破坏 ”黑路同“我们要注意RR LL 旋转的是第一个父 LR RL 父亲 儿子 都旋转原创 2025-02-09 19:43:30 · 297 阅读 · 0 评论 -
408数据结构——树形查找(红黑树的定义、查找)
红黑树定义 特性 查找(同二叉排序树)原创 2025-02-09 18:08:54 · 217 阅读 · 0 评论 -
408数据结构——树形查找(平衡二叉树的删除)
例子: 80左旋,让80的父亲75左孩子多一个右孩子77例子: 50 右旋,让50的父亲的右孩子多一个左孩子原创 2025-02-09 16:55:06 · 111 阅读 · 0 评论 -
408数据结构——树形查找(平衡二叉树的插入、查找)
我们想要解决不平衡的问题: 核心思想就是:让父节点的左右子树平衡 LL和RR 把H+1移动到上一层,H放到下一层就好了。 就解决了。LR 和 RL我们如果想要两个子节点的高度变成H+1就必须让 子节点的子节点最大高度为H。口诀就是为了让LL 的 前面的L RR 前面的 R LR的后面的R RL 后面的L当上父节点我的建议是: 不用背,理解就行, 记得画出比大小的顺序,然后根据 ,重新画图的就可以啦!RL 作为 例子 先把C放到最上面,第二层必须都变成H+1,那么 只能左A右边B,原创 2025-02-09 16:02:26 · 242 阅读 · 0 评论 -
408数据结构——树形查找(二叉排序树)
情况1:如果是叶子节点可以直接删除。情况2:如果只有左子树(右子树)那么之一直接让他代替。情况3:(复杂)如果两个子树都在存在,有两种解决方案。方案1:让右子树最小的当替死鬼(中序右子树第一个)(直接后继)方案2:让左子树最大的当替死鬼(中序左子树最后一个)(直接前驱)原创 2025-02-09 10:22:49 · 300 阅读 · 0 评论 -
408数据结构——分块查找
1.查找块外2.查找块内。原创 2025-02-08 22:37:59 · 120 阅读 · 0 评论 -
408数据结构——折半查找(***)
是一个平衡二叉树!原创 2025-02-08 21:16:46 · 206 阅读 · 0 评论 -
408数据结构——顺序查找
好处:不用判断i是否越界ASL是平均查找长度。原创 2025-02-08 20:43:24 · 158 阅读 · 0 评论 -
408数据结构——查找的基本概念
查找原创 2025-02-08 20:26:55 · 111 阅读 · 0 评论 -
408数据结构——图的应用(关键路径)AOE
1.事件完成后才能够进行活动。2.事件之前的所有活动完成后才能够开始时间。原创 2025-02-08 10:02:35 · 122 阅读 · 0 评论 -
408数据结构——图的应用(拓扑排序)AOV
拓扑排序原创 2025-02-08 00:55:31 · 141 阅读 · 0 评论 -
408数据结构——图的应用(有向无环图描述表达式)
更加简化。原创 2025-02-07 23:49:03 · 115 阅读 · 0 评论 -
408数据结构——图的应用(最短路径——Floyd)
分析:我们只是找到了 路径为2的最短路径?!这只是表面现象,如上图所示,03>02+23,按常理说没有23但是在我们之前已经更新了最短路径表。原创 2025-02-07 23:33:44 · 285 阅读 · 0 评论 -
408数据结构——图的复杂度总结
图的复杂度总结原创 2025-02-07 22:39:56 · 145 阅读 · 0 评论 -
408数据结构——图的应用(最短路径——Dijkstra)
BFS只适用于无权图。原创 2025-02-07 21:13:32 · 199 阅读 · 0 评论 -
408数据结构——图的应用(最短路径——BFS)
1.一个顶点到其他任意顶点的最短路径都求出来2.每个顶点之间的最短路径原创 2025-02-07 20:20:53 · 168 阅读 · 0 评论 -
408数据结构——图的应用(最小生成树)
以最小的代价使图连通。原创 2025-02-07 17:46:24 · 193 阅读 · 0 评论