![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
24王道数据结构笔记合集
文章平均质量分 95
inforx
这个作者很懒,什么都没留下…
展开
-
第八章 排序(下)【外部排序】
可以⽤⼀⽚更⼤的内存区域来进⾏内 部排序,⽤于内部排序的内存⼯作区WA 可容纳 l个记录,则每个 初始归并段也只能包含l 个记录,若⽂件共有n 个记录, 则初始归并段的数量 r = n/l。可视为⼀棵完全⼆叉树(多了⼀个头头)。② 对这些归并段进行 S 趟 k 路归并,使归并段(有序子文件)逐渐由小到大,直至得到整个有序文件为止,(其中需要在内存中分配k个输入缓冲区和1个输出缓冲区,⽣成初始归并段的“内存⼯作区”越⼤,初始归并段越⻓,若能增加初始归并段的⻓度,则可减少初始归并段数量 r。原创 2023-11-26 01:42:56 · 1249 阅读 · 0 评论 -
第八章 排序(中)【归并,基数,计数,桶排序】
算法种类最好时间复杂度最坏时间复杂度平均时间复杂度空间复杂度稳定性直接插入排序稳定冒泡排序稳定简单选择排序不稳定希尔排序不稳定快速排序不稳定堆排序不稳定2路归并排序稳定基数排序稳定。原创 2023-11-25 22:43:21 · 1141 阅读 · 0 评论 -
第八章 排序(上)【基本概念和交换插入选择排序】
排序(Sort),就是按重新排列表中的元素,使表中的元素满⾜按有序的过程。原创 2023-11-25 02:26:43 · 926 阅读 · 0 评论 -
第七章 查找(下)【散列查找及其性能分析】
采⽤“开放定址法”时,删除元素不能简单地将被删元素的空间置为空,否则将截断在它之后的探 测路径,可以做⼀个“已删除”标记,进⾏逻辑删除。Step 2:若关键字不匹配,则根据“探测序列”对⽐下⼀个地址的关键字,直到“查找成功”或“查 找失败”注:有的教材会把“空指针的对⽐”也计⼊查找⻓度。构造更适合的散列函数,让各个关键字尽可能地映射 到不同的存储位置,从⽽减少“冲突”思路:需确定⼀个“探测的顺序”,从初始散列地址出发,去寻找下⼀个空闲位置。Step 3:若“查找成功”,则删除找到的元素。原创 2023-11-24 15:33:25 · 1266 阅读 · 0 评论 -
第七章 查找(中)【BST,AVL,红黑树,B树B+树】
平衡二叉树(Balanced Binary Tree),简称平衡树(AVL树,G. M. Adelson-Velsky和E. M. Landis))——树上任一结点的左子树和右子树的高度之差不超过1。结点的平衡因子=左子树高-右子树高。平衡二叉树结点的平衡因子的值只可能是−1、0或1只要有任一结点的平衡因子绝对值大于1,就不是平衡二叉树。原创 2023-11-23 23:16:51 · 1260 阅读 · 0 评论 -
第七章 查找(上)【基本概念,顺序,折半查找】
首先将给定值key与表中中间位置的元素(mid的指向元素)比较。原因:最终low左边⼀定⼩于⽬标关键字,high右边⼀定⼤于⽬标关键字。**适用范围:**折半查找,⼜称“⼆分查找”,仅适⽤于有序的顺序表。设索引查找和块内查找的平均查找⻓度分别为LI、LS,则分块查找的平均查找⻓度为。(返回最终的left,对应的元素大于等于关键字)分块查找又称“索引顺序查找”,数据分块存储,块内无序、块间有序。①在索引表中确定待查记录所属的分块(可顺序、可折半)若使用折半查找且索引表中不包含⽬标关键字,则。原创 2023-11-23 19:26:32 · 982 阅读 · 0 评论 -
第六章 图(上)【图的基本概念和存储】
图的邻接矩阵(Adjacency Matrix) 存储方式是用两个数组来表示图。一个一维数组存储图中顶点信息,一个二维数组(称为邻接矩阵)存储图中的边或弧的信息。只要确定了顶 点编号,图的 邻接矩阵表示 方式唯一第i个结点的度 = 第i行(或第j列)的非零元素个数;第i行的非零元素个数;有向图的入度:第 i列的非零元素个数。第i行的非零元素个数+ 第 i列的非零元素个数。2.1.2 邻接矩阵法代码实现#define MaxVertexNum 100 //顶点数目的最大值。原创 2023-11-18 22:25:41 · 362 阅读 · 0 评论 -
第六章 图(下)【图的应用,重难点】
2. 第1轮:循环遍历所有结点,找到还没确定最短 路径,且dist 最⼩的顶点Vi,令final[i]=ture,检查所有邻接⾃ Vi 的顶点,若其 final 值为false, 则更新 dist 和 path 信息。③依此尝试允许经过v1,v2,...,vk顶点中转,并不断更新最短路径,,直到允许v(n-1)顶点都经过中转,方阵 [i][j] = Min{[i][j] , [i][k]+[k][j]}[i][j]表示从顶点vi到vj的长度,k表示绕行第k个顶点的运算步骤,利用。原创 2023-11-20 15:27:27 · 134 阅读 · 0 评论 -
第六章 图(中)【图的基本操作和遍历】
• NextNeighbor(G,x,y):假设图G中顶点y是顶点x的一个邻接点,返回除y之外顶点x的下一 个邻接点的顶点号,若y是x的最后一个邻接点,则返回-1。• RemoveEdge(G,x,y):若无向边(x, y)或有向边存在,则从图G中删除该边。• AddEdge(G,x,y):若无向边(x, y)或有向边不存在,则向图G中添加该边。• Adjacent(G,x,y):判断图G是否存在边或(x, y)。• Neighbors(G,x):列出图G中与结点x邻接的边。原创 2023-11-19 11:32:33 · 195 阅读 · 0 评论 -
第五章 树和二叉树(下)【哈夫曼树、并查集】
结点的权:有某种现实含义的数值(如:表示结点的重要性等)结点的带权路径长度:从树的根到该结点的路径长度(经过的边数)与该结点上权值的乘积。树的带权路径长度:树中所有叶结点的带权路径长度之和 (WPL,Weighted Path Length)。在含有n个带权叶结点的二叉树中,其中带权路径长度(WPL) 最小的二叉树,也称最优二叉树。原创 2023-11-18 15:46:37 · 160 阅读 · 0 评论 -
第五章 树和二叉树(中)【线索二叉树、树和森林】
n 个结点的二叉树,有 n+1 个空链域,可用来记录前驱、后继的信息。指向前驱、后继的指针被称为“线索”,形成的二叉树被称为线索二叉树。原创 2023-11-18 13:28:02 · 187 阅读 · 0 评论 -
第五章 树和二叉树(上)【基本概念性质和二叉树遍历】
二叉树是n (n>=0)个结点的有限集合或者为空二叉树,即n =0。或者由一个根结点和两个互不相交的被称为根的左子树和右子树组成。左子树和右子树又分别是一棵二叉树。每个结点至多只有两棵子树左右子树不能颠倒 (二叉树是有序树)二叉树可以是空集合,根可以有空的左子树和空的右子树注意区别:度 为2的有序树(至少有一个结点度为2)二叉树的五种状态。原创 2023-11-17 22:35:16 · 277 阅读 · 0 评论 -
第四章 串和广义表【24王道数据结构笔记】
其中,S是串名,单引号括起来的字符序列是串的值;a;可以是字母、数字或其他字符;串中字符的个数n称为串的长度。n =0时的串称为空串。原创 2023-11-17 00:36:40 · 592 阅读 · 0 评论 -
第三章 栈和队列【24王道数据结构笔记】
断一个栈 S 是否为空,若 S 为空,则返回 true,否则返回 false。若栈 S 非空,则弹出(删除)栈顶元素,并用 x 返回。若栈 S 未满,则将 x 加入使其成为新的栈顶元素。判队列空,若队列Q为空返回true,否则返回false。若栈 S 非空,则用 x 返回栈顶元素。入队,若队列Q未满,则将x加入使之成为新的队尾。出队,若队列Q非空,则删除队头元素,并用x返回。读队头元素,若队列Q非空则用x返回队头元素。销毁队列,并释放队列Q占用的内存空间。初始化队列,构造一个空队列Q。原创 2023-11-16 01:25:29 · 322 阅读 · 0 评论 -
第二章 线性表【24王道数据结构笔记】
线性表是具有相同数据类型的n个元素的有限序列。(其中n为表长,当n=0时,线性表是一个空表。若用L命名线性表,则其一般表示为:1. 存在惟一的第一个元素。2. 存在惟一的最后一个元素。3. 除第一个元素之外,每个元素有且只有一个直接前驱。4. 除最后一个元素之外,每个元素有且只有一个直接后继1. ai是线性表中的“第i个”元素线性表中的位序,从1开始,不同于数组下标从0开始。2. a1是表头元素;an是表尾元素。原创 2023-07-04 17:19:50 · 317 阅读 · 0 评论 -
第一章 数据结构绪论【24王道数据结构笔记】
24王道数据结构第一章绪论笔记原创 2023-07-03 10:46:43 · 268 阅读 · 0 评论