文章分类 -  算法

摘要:deleteMax中,调用了moveRedRight,这个步骤到底是做什么?在什么情况下触发? 首先,我们要确认进入moveRedRight的条件。 1、显式的条件是 h.right == 黑色,h.right.left==黑色 2、隐藏条件,h.left == 黑色(若h.left红色,delet 阅读全文
posted @ 2019-03-09 18:04 leondryu 阅读(392) 评论(0) 推荐(0)
摘要:1、RobertSedgewick左倾红黑树,与哪种树对应?2-3树?2-3-4树?2-3-4-5树? 答:应该是2-3-4树。 在树完全平衡的时候,树是一颗2-3树; 但是在调用deleteMax的过程中(delete,deleteMin,insert应该是同理),可能会产生4-节点,5-节点; 阅读全文
posted @ 2019-03-09 16:51 leondryu 阅读(524) 评论(0) 推荐(0)
摘要:deleteMax deleteMax自顶向下的过程中,要保证当前节点或者其右孩子是红色 当前节点红色——当前节点是3-节点的右端节点 当前节点的右孩子是红色——当前节点的右孩子是一个3-节点 前提,这里的代码是针对最终形态2-3红黑树(即左倾红黑树),而不是最终形态234红黑树。(代码来源:htt 阅读全文
posted @ 2019-03-08 17:14 leondryu 阅读(421) 评论(0) 推荐(0)
摘要:Robert Sedgewick的左倾红黑树, 书上讲解太粗略,看不明白,好不容昂找来他的pdf,发现还是不够详细。按照作者的说法,左倾红黑树代码量少。但实际上呢,左倾红黑树的情况非常多,光2-3树,2-3-4树,2-3-4-5树的可能情况就说不完,我个人觉得作者故意忽略好多细节,因为要讲,肯定篇幅 阅读全文
posted @ 2019-03-08 16:24 leondryu 阅读(310) 评论(0) 推荐(0)
摘要:前言 1、前7种排序,除了冒泡排序,都来自【算法4】,冒泡排序因为书里没有所以是从网上找的, 2、前7种排序的入参数组都是Comparable[];后三种计数、基数、桶排序,的入参数组,都是【非负整数】数组。 零、排序的util方法 一、选择排序 从0开始遍历到数组末尾,找出当前最小的元素,交换 运 阅读全文
posted @ 2019-02-14 15:30 leondryu 阅读(267) 评论(0) 推荐(0)