算法与数据结构
真的胜哥
这个作者很懒,什么都没留下…
展开
-
[算法与数据结构]排序算法
排序算法的稳定性 稳定算法 归并排序:归并排序只在合并子数组时发生元素位置的交换,这个过程完全可以控制相等元素的相对位置; 插入排序: 冒泡排序: 桶排序: 不稳定排序 快速排序:将支点与最终落点交换时可能会造成相等元素的换位; 选择排序:排序的过程是共进行n次扫描,第i次扫描会从未排序的部分选出最小的元素,将该元素与第i个元素交换位置;不稳定的一个例子是:序列5 8 5 2 9,我们知道第一遍选择第1个元素5会和2交换,那么原序列中2个5的相对前后顺序就被破坏了,所以选择排序不是一个稳定的排序算法。原创 2020-10-10 18:07:26 · 150 阅读 · 0 评论 -
[STL]树
GITHUB:红黑树 红黑树简介 红黑树本质上就是一棵二叉查找树,但它在二叉查找树的基础上增加了着色和相关的性质使得红黑树相对平衡,从而保证红黑树的查找,插入,删除时间复杂度最坏为O(log n)。 红黑树具有5个性质: 每个节点要么是红的,要么是黑的; 根节点是黑的; 每个叶节点(NULL节点)都是黑的; 如果一个节点是红色的,那么它的两个子节点都是黑的; 对于任一节点而言,其到叶子节点的每一条路径都包含相同数量的黑节点。 上面的5个性质使得一棵n个节点的红黑树始终保持log n 的高度,从而使得红原创 2020-06-05 14:39:32 · 356 阅读 · 0 评论