数据结构
文章平均质量分 85
狄洺
这个作者很懒,什么都没留下…
展开
-
查找(B树)
B-树 B-树是一种多叉平衡搜索树,它可以是空树,或者满足以下特性: 根节点至少有两个孩子 每个非根节点至少有M/2(上取整)个孩子,至多有M个孩子 每个非根节点至少有M/2-1(上取整)个关键字,至多有M-1个关键字,并且以升序排列 key[i]和key[i+1]之间的孩子节点的值介于key[i]、key[i+1]之间 所有的叶子节点都在同一层 结点中的key必须按序存储。(任何搜索树中都不允许key重复,所以永远不会出现key相等的情况) B-树的插入 所有B-数的插入,都一定是插入到叶子结点上。原创 2021-10-11 21:35:34 · 216 阅读 · 0 评论 -
排序(插入排序、选择排序、交换排序、二路归并排序、基数排序、外部排序)
一、插入排序 1)直接插入排序 算法思想:每趟排序将一个待排序的关键字按照其值大小插入到已经安排好的部分有序序列的适当位置上,直到所有待排关键字都被插入到有序序列中为止。 最好情况:初始序列已经有序 时间复杂度:O(n) 最坏情况:初始序列逆序 执行次数:n(n−1)2\frac{n(n-1)}{2}2n(n−1) 时间复杂度:O(n2n^{2}n2); 平均时间复杂度:O(n2n^{2}n2) 空间复杂度:O(1) 稳定性:稳定 代码 void InsertSort(int R[],int原创 2021-09-21 22:05:29 · 398 阅读 · 0 评论 -
图(Prime算法、 Kruskal算法、Dijkstra算法、Floyd算法、AOV网)
AOV网 Aov网是一种以顶点表示活动、以边表示活动先后次序且没有回路的有向图 在一个有向图中找到拓扑排序的过程如下: ① 从有向图中选择一个没有前驱(入度为零)的顶点输出; ② 删除①中的顶点,并删除剩余图中从该顶点发出的全部边; ③重复上述两步,直到剩余的图中不存在没有前驱的顶点为止。 下面来举个例子: 某产品生产过程如图所示: 先找到入度为零的顶点,即为原材料顶点,删除该顶点,并删除该顶点出发的所有边 这时会发现部件1、部件2、部件3入度都为0,这时可以选择这三个中的任意一个,我选原创 2021-09-10 22:18:08 · 862 阅读 · 1 评论