![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C
文章平均质量分 53
狒狒不会写代码
这个作者很懒,什么都没留下…
展开
-
红黑树创建和插入—C语言
红黑树—C语言 绝望ing…… 先知道红黑树是啥:每个节点带颜色(红/黑)的二叉查找树。 红黑树的特性:①每个节点非红即黑;②根和叶子(哨兵NIL)是黑色;③每个红色节点的俩娃都是黑色;④每个节点到其所有后代叶节点的简单路径,包含相同数量黑色结点。 3.红黑树的C的实现:基本操作是插入、删除、旋转(左旋、右旋)。 基本定义 #define RED 0 #define BLACK ...原创 2018-09-12 22:45:04 · 1857 阅读 · 0 评论 -
快速排序—C语言
快速排序—C语言 /* *File name:Quicksort *Author:Fei Yuling Version:1.0 Date:2018.9.10 *Description:对数组元素进行快速排序 */ #include<stdio.h> #include<stdlib.h> #define MAX 20 /* *函...原创 2018-09-10 22:38:45 · 124 阅读 · 0 评论 -
红黑树删除——C语言
红黑树的删除——C语言 昨天理解了红黑树的定义、插入,旋转(左旋右旋)及相关代码实现,今天继续红黑树的删除。 可以先进行总结的是:红黑树的删除也是分两步走——第一步:像一个普通二叉查找树一样删除结点;第二步:对删除后的树进行修正。具体操作如下: 1、第一步:像一个普通二叉查找树一样删除结点并根据被删除结点的颜色决定下一步该怎么做。 //(二叉查找树...原创 2018-09-13 21:09:22 · 1349 阅读 · 0 评论 -
插入排序——C语言
插入排序——C语言 《算法导论》2.1 插入排序的代码实现: /* *File name:Insertion_sort *Author:Fei Yuling Version:1.0 Date:2018.9.15 *Description:对数组元素进行插入排序 */ #include<stdio.h> #define MAX 100 int main() { ...原创 2018-09-15 15:52:47 · 220 阅读 · 1 评论 -
快速排序优化(待完善)——C语言
当输入数据已经“几乎有序”时,插入排序速度很快。在实际应用中,我们可以利用这一特点来提高快速排序的速度。当对一个长度小于k的子数组调用快速排序时,让它不做任何排序就返回。当上层的快速排序调用返回后,对整个数组运行插入排序来完成排序过程。试证明:这一排序算法的期望时间复杂度为O(nk+nlg(n/k))。分别从理论和实践的角度说明我们应该如何选择k? 此处实现的k值为手动输入,主观选择...原创 2018-10-31 17:12:24 · 266 阅读 · 0 评论