数据结构与算法
文章平均质量分 80
xixihaha331
这个作者很懒,什么都没留下…
展开
-
红黑树节点的删除操作
二、红黑树删除后的调整 删除节点后的调整要根据N的不同情形来分情况处理。假设删除节点后的树中,N的父节点为P,兄弟节点为S,兄弟节点的左孩子为SL,兄弟节点的右孩子为SR。需要注意的是空节点是有颜色的,它是黑色的。 2.1 N为根节点 这种情形非常简单,直接将其修改为黑色即可。因为如果N原来是黑色,则这样做不会改变其性质,如果原来为红色,我们需要保持红黑树的性质,也要把它修改为黑色。原创 2016-05-12 21:41:47 · 1162 阅读 · 0 评论 -
红黑树RB_tree
红黑树也是一种而叉搜索树,因此二叉搜索树的性质红黑树都具有,同时,我们知道为了避免最坏情况下的二叉搜索树(就是高度不平衡的情况)衍生出了AVL树,使其任何节点的左右子树的高度差相差最多1,从而达到平衡,以确保最坏情况下的搜索效率。当然红黑树为了比较好的搜索效率降低了对平衡的要求,但是红黑树仍然具有良好的平衡状态。 AVL树与RB_tree AVL树也称为高度平衡树,其插入,删除原创 2016-05-10 18:01:08 · 782 阅读 · 0 评论 -
STL学习_hash_table源码分析
由于自己最近在看STL中的hash_table,被它精巧的设计所折服。无论是对桶子个数的确定,对链表的维护方式,以及判断元素在哪个桶子里等等方法都考虑到了方方面面。所以自己写了篇总结。 hash_table存储数据的特性 二叉树,AVL树,RB_tree等数据结构各有各的用途,并且具有对数平均时间,但之所以有这样高的效率取决于输入的数据有足够的随机性,那么hash_table这种数原创 2016-06-07 20:45:03 · 1914 阅读 · 0 评论