算法
文章平均质量分 74
情、狠现实
小坤很困,快来写代码提神!
展开
-
红黑树详解
有了二叉搜索树,为什么还需要平衡二叉树?二叉树容易退化成一条链此时查询的时间复杂度也由O(log2N)将退化成O(N)而平衡二叉树对左右子树高度差有限制,保证最坏的时间复杂度为O(log2N)有了平衡二叉树,为什么还要红黑树?AVL的左右子树高度差不能超过1,每次进行插入/删除操作时,几乎都需要通过旋转操作保持平衡在频繁进行插入/删除的场景中,频繁的旋转操作使得AVL的性能大打折扣红黑树通过牺牲严格的平衡,换取插入/删除时少量的旋转操作,整体性能优于AVL2N)时间内完成查找操作。...原创 2022-07-27 17:07:47 · 811 阅读 · 0 评论 -
AVL树(平衡搜索树)
AVL树是由GMAdelson-Velsky和EMLandis于1962年发明的。为了纪念其发明者,这树结构被命名为AVL。AVL树可以定义为高度平衡二叉搜索树,其中每个节点与平衡因子相关联,该平衡因子通过从其左子树的子树中减去其右子树的高度来计算。如果每个节点的平衡因子在-1到1之间,则称树是平衡的,否则,树将是不平衡的并且需要平衡。平衡系数(k)=高度(左(k))-高度(右(k))如果任何节点的平衡因子为1,则意味着左子树比右子树高一级。算法平均情况最坏情况空间O(n)...原创 2022-07-27 14:44:34 · 840 阅读 · 0 评论 -
力扣-单调栈
力扣单调栈原创 2022-07-21 22:54:44 · 301 阅读 · 0 评论 -
动态规划-力扣
力扣上的动态规划题目本人题记原创 2022-07-19 10:26:25 · 2843 阅读 · 0 评论 -
排序算法-基数排序
基数排序(Radix Sort)基数排序是按照低位先排序,然后收集;再按照高位排序,然后再收集;依次类推,直到最高位。有时候有些属性是有优先级顺序的,先按低优先级排序,再按高优先级排序。最后的次序就是高优先级高的在前,高优先级相同的低优先级高的在前。算法描述取得数组中的最大数,并取得位数;(位数决定轮次)arr为原始数组,从最低位开始取每个位组成radix数组;对radix进行计数排序(利用计数排序适用于小范围数的特点);动图演示代码实现非负整数基数排序时间复杂度 O(n * ma原创 2022-04-12 11:33:09 · 292 阅读 · 0 评论 -
十大排序算法(动图) 插入排序 & 希尔排序 & 选择排序 & 堆排序 & 冒泡排序 & 快速排序 & 归并排序 & 计数排序 & 桶排序 & 基数排序
十大排序算法(动图) 插入排序 & 希尔排序 & 选择排序 & 堆排序 & 冒泡排序 & 快速排序 & 归并排序 & 计数排序 & 桶排序 & 基数排序转载 2022-01-01 17:56:00 · 313 阅读 · 0 评论