数据结构
文章平均质量分 95
liao_hb
这个作者很懒,什么都没留下…
展开
-
红黑树伤感操作(下篇)
删除算法描述: 1. 找到删除的节点。 2. 如果该节点有2个孩子,则找到该节点的直接后继节点,并交换内容,继而删除后继节点,这时候后继节点要么是叶节点,要么只含有右子节点一个孩子,则会进入3,4两种情况加以考虑。 3. 如果该节点只含有一个孩子,就让孩子替换该节点。若该节点不可能是红色的(?红色的是第四种叶节点的情况);若该节点是黑色的则导致黑高度降1,则用仅...原创 2018-04-25 12:21:55 · 213 阅读 · 0 评论 -
红黑树的伤感操作(上篇)
叨序红黑树的一些性质网上比比皆是,但我想最难理解的应该是他的插入和删除,所以此博文就是记录一下学习红黑树的过程。废话少说,单刀直入,以免正面角色奋起反抗(电影里的坏人都是话多误事*_*)。插入算法描述:查找到插入的位置,然后插入,并标为红色,标为黑色也是可以的,但是可能会考虑诸多的情况需要分析,若你有充裕的时间可以去试试,但是为了我们的时间成本,还是标为红色,和先入的讲法为准。若插...原创 2018-04-25 12:12:54 · 164 阅读 · 0 评论 -
相识传说中的分治算法(一)
据不可靠分析,分治法深得大神们的垂爱,故,想凑近一点认识这个传说中的大法。按照惯例,先上点玄乎的理论晕死一片再说。基本思想:分解:将问题分解成若干个子问题。治理:递归地解决各子问题。不过若子问题的规模足够小,就以直接的方式(不再递归)解决子问题。合并:将子问题的解合并成原问题的一个解。借用一张要火的图,让我们把它看透:注意点:子问题和原问题的性质完全一样子问题之间彼此独立递归是分治策略的基...原创 2018-04-29 20:59:59 · 419 阅读 · 0 评论 -
进一步认识分治算法(二)
你的打赏是我奋笔疾书的动力! 为了进一步了解和掌握分治算法,请各位看官,继续往下打量。主要涉及的问题有选择类问题(选第k小,选第二大,选最值等)、信号平滑处理问题(卷积应用,卷积计算,快速傅里叶FFT变换)、计算平面点集的凸包、二份查找、快速排序、二分归并排序。 例1:选最大的数 基本运算是比较 蛮力算法:比较n-1次 例2:同时选择最大和最小 基本运算...原创 2018-04-29 21:43:01 · 1000 阅读 · 0 评论 -
分治算法中的可优化点(三)
你的打赏是我奋笔疾书的动力! 这一节来聊一聊,老生常谈的2个优化。 优化分治算法,单从降低时间复杂度的角度出发,也就是从分治算法的时间复杂度的递推公式出发,W(n)=aW(n/b)+d(n),有以下二种途径: 途径一:降低a的数值,减少子问题的个数 减少子问题数量的策略是有前提的,具体分析如下: 若这个分治算法的时间复杂度递推式满足主定理的第一个结论的条件,那么...原创 2018-04-29 21:56:44 · 2843 阅读 · 0 评论