http://www.cnblogs.com/skywang12345/p/3245399.html 解释第5条:从 ->根节点(或者任意个结点)到->所有的末端节点的路径中 ->黑色节点 数目相同 《一代宗师》,不比武功比想法 计算机中最为重要的课程 1.数学(线性代数,概率统计,集合论图论,矩阵 ...
分类:
编程语言 时间:
2017-05-30 16:19:37
阅读次数:
191
map巧过 经典字典树(前缀树) 第一个字典树(G++内存超限),第二个map(红黑树),对于此类问题,字典树效率优势明显 ...
分类:
其他好文 时间:
2017-05-30 15:47:03
阅读次数:
149
跟set集合容器相比,multiset多重集合容器也使用红黑树组织元素,仅仅是multiset多重集合容器同意将反复的元素键值插入。元素的搜索依旧具有对数级的算法时间复杂度,find和equal_range函数能够搜索出某一键值下的全部元素位置。 创建multiset对象 有下面几种方式。 (1) ...
分类:
其他好文 时间:
2017-05-29 15:18:29
阅读次数:
144
前言 本文不打算延续前几篇的风格(对所有的源码加入注释),因为要理解透TreeMap的所有源码,对博主来说,确实需要耗费大量的时间和经历,目前看来不大可能有这么多时间的投入,故这里意在通过于阅读源码对TreeMap有个宏观上的把握,并就其中一些方法的实现做比较深入的分析。 红黑树简介 TreeMap ...
分类:
编程语言 时间:
2017-05-29 09:55:55
阅读次数:
255
排序:插入排序:每次从剩余数据中选取一个最小的,插入已经排序完成的序列中合并排序:将数据分成左右两组分别排序,然后合并,对每组数据的排序递归处理。冒泡排序:重复交换两个相邻元素,从a[1]开始向a[0]方向冒泡,然后a[2]...当a[i]无法继续往前挤的时候说明前面的更小了..
分类:
编程语言 时间:
2017-05-26 23:32:05
阅读次数:
263
1 /* 2 * rbtree.h 3 * 1. 每个节点是红色或者黑色 4 * 2. 根节点是黑色 5 * 3. 每个叶子节点是黑色(该叶子节点就空的节点) 6 * 4. 如果一个节点是红色,则它的两个子节点是黑色的 7 * 5.对每个节点,从该节点道其他所有后代的叶子节点的简单路径上,均包含相同... ...
分类:
编程语言 时间:
2017-05-26 18:21:37
阅读次数:
210
一、排序二叉树(BST树) 1.排序二叉树的定义 排序二叉树,Binary Sort Tree 排序二叉树要么是一棵空二叉树,要么是具有下列性质的二叉树: (1)若它的左子树不空,则左子树上所有节点的值均小于它的根节点的值; (2)若它的右子树不空,则右子树上所有节点的值均大于它的根节点的值; (3 ...
分类:
编程语言 时间:
2017-05-25 23:20:24
阅读次数:
241
跟set集合容器相比,multiset多重集合容器也使用红黑树组织元素,仅仅是multiset多重集合容器同意将反复的元素键值插入。元素的搜索依旧具有对数级的算法时间复杂度,find和equal_range函数能够搜索出某一键值下的全部元素位置。 创建multiset对象 有下面几种方式。 (1) ...
分类:
其他好文 时间:
2017-05-25 20:47:25
阅读次数:
218
时间复杂度上,红黑树在平均情况下插入,查找以及删除上都达到了lgN的时间复杂度。 那么有没有查找效率更高的数据结构呢,答案就是本文接下来要介绍了散列表,也叫哈希表(Hash Table) 什么是哈希表 哈希表就是一种以 键-值(key-indexed) 存储数据的结构,我们只要输入待查找的值即key ...
分类:
编程语言 时间:
2017-05-21 21:49:07
阅读次数:
220
http://blog.chinaunix.net/uid-20729583-id-1884615.html struct mm_struct { /* 指向线性区对象的链表头 */ struct vm_area_struct *mmap; /* 指向线性区对象的红-黑树 */ struct rb_ ...
分类:
其他好文 时间:
2017-05-21 01:04:49
阅读次数:
194