先是把昨天没看完的红黑树给看了,红黑树本身还挺复杂的,光头哥讲的就比较浅,就把红黑树的作用以及红黑规则的证明给讲了下。红黑树就是符合一种规则的树,这种树的好处就是它的高度可以确保是对数级的。证明也不算难。难点在于insert,delete这些操作,光头哥就讲了一点点,我也没咋细看。。。 然后是作业, ...
分类:
其他好文 时间:
2018-02-16 10:17:15
阅读次数:
182
Java8新特性简介 a)速度更快 1.对于JVM内存模型的新定义,将方法区从堆内存中移除,以前HotSpot JVM堆内存分为三块:1.年轻代 2.年老代 3.持久代(即方法区),点击回顾 取而代之的是 MetaSpace 元空间 - 直接依赖于物理内存,而非由JVM向系统申请 2.对于HashM ...
分类:
编程语言 时间:
2018-02-14 22:38:12
阅读次数:
290
前面我们介绍了树这种数据结构,树是由n(n>0)个有限节点通过连接它们的边组成一个具有层次关系的集合,把它叫做“树”是因为它看起来像一棵倒挂的树,包括二叉树、红黑树、2-3-4树、堆等各种不同的树,有对这几种树不了解的可以参考我前面几篇博客。而本篇博客我们将介绍另外一种数据结构——图,图也是计算机程 ...
分类:
编程语言 时间:
2018-02-14 18:20:37
阅读次数:
210
Map是
STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据 处理能力,由
于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一 种非严格意
义上的平衡二叉树),这颗树具有
分类:
编程语言 时间:
2018-02-12 16:54:11
阅读次数:
181
性质: 红黑树是一棵二叉搜索树,他在每一个结点上添加了一个存储位为来标识结点的颜色。能够是RED或者BLACK。通过对不论什么一条从根到叶子的简单路径上各个结点的颜色进行约束,保证没有一条路径比其它路径长出2倍,所以是近似平衡的。 每一个节点是红色或者黑色 根节点是黑色 每一个叶节点(NULL)是黑 ...
分类:
其他好文 时间:
2018-02-11 20:00:42
阅读次数:
137
一、左旋 1、当在含有n个关键字的红黑树上运行时,TREE-INSERT和TREE-DELETE操作对树作了修改,结果可能违反(一、红黑树--》2、定义)中给出的红黑树的性质,为了保持这些性质,就要改变树中的某些节点的颜色以及指针结构。 对x进行左旋,意味着"将x变成一个左节点"。左旋以x到y之间的 ...
分类:
其他好文 时间:
2018-02-10 13:56:52
阅读次数:
143
http://blog.csdn.net/sun_tttt/article/details/65445754 红黑树是一个平衡的二叉树,但不是一个完美的平衡二叉树。虽然我们希望一个所有查找都能在~lgN次比较内结束,但是这样在动态插入中保持树的完美平衡代价太高,所以,我们稍微放松逛一下限制,希望找到 ...
分类:
其他好文 时间:
2018-02-07 19:45:10
阅读次数:
190
HashMap:HashMap数据是无序的,根据键的hashCode进行数据的存取,对数据的访问速度非常快,在map中插入删除和定位元素,hashMap无疑是最好的选择,TreeMap:里面的数据是有序的,底层是一个红黑树,如果想按照自定义顺序或者自然顺序存储数据,TreeMap是一个最好的选择LinkedHashMap:他是hashMap的一个子类,底层维护了一个双向链表,他可以实现输入的顺序和
分类:
其他好文 时间:
2018-02-03 21:53:47
阅读次数:
176
一、性质 ①节点非黑即红。 ②根节点为黑色。 ③叶节点的孩子为黑色空节点。(NIL节点) ④红色节点的孩子为黑色。 ⑤从任何节点到叶节点的路径包含相同数目的黑色节点。 解释:红黑树是2-3-4树的等价数据结构,黑色节点等价于的3孩子,红色节点等价于2孩子和4孩子。 二、旋转 ①左旋 图示以A为轴节点 ...
分类:
其他好文 时间:
2018-02-02 00:38:55
阅读次数:
202
1.关于红黑树,先上一张图,这里提供一个可视化数据结构的网站:可视化带动画的数据结构基本的在线操作,我在这上面生成了一张: 网上有很多教程,写的也非常棒,这里简单的总结一下其基本性质: 2.为啥有了平衡二叉树还要有红黑树根据二者的结构图很容易看出红黑树的查找速度明显不如AVL树,为啥还会有红黑树的出 ...
分类:
其他好文 时间:
2018-01-30 19:30:31
阅读次数:
149