“我们不需要你在不参考任何资料,能够实现红黑树;我们需要的是你能在实践当中,选择恰当的数据结构完成程序开发;在必要的时候,能在已有的数据结构基础上进行适当改进,满足工程需要。但要做到这一点,你需要掌握基础的算法和数据结构,你需要理解并应用一些高级数据结构和算法的思想。因此,在程序员这条道路上,你要想 ...
分类:
其他好文 时间:
2017-08-31 19:43:06
阅读次数:
204
定义及概念 B树 二叉树的深度较大,在查找时会造成I/O读写频繁,查询效率低下,所以引入了多叉树的结构,也就是B树。阶为M的B树具有以下性质: 1、根节点在不为叶子节点的情况下儿子数为 2 ~ M2、除根结点以外的非叶子结点的儿子数为 M/2(向上取整) ~ M3、拥有 K 个孩子的非叶子节点包含 ...
分类:
其他好文 时间:
2017-08-31 18:00:25
阅读次数:
140
内核数据结构贯穿于整个内核代码中,这里介绍4个基本的内核数据结构。 利用这4个基本的数据结构,可以在编写内核代码时节约大量时间。 主要内容: 链表 队列 映射 红黑树 1. 链表 链表是linux内核中最简单,同时也是应用最广泛的数据结构。 内核中定义的是双向链表。 1.1 头文件简介 内核中关于链 ...
分类:
系统相关 时间:
2017-08-24 19:57:28
阅读次数:
248
1. 字符串 查找匹配 KMP 正则 2. 数组 3. 链表 4. 栈 5. 队列 6. 树 二叉树 前序遍历 中序遍历 后序遍历 B Tree / B+ Tree 红黑树 7. 哈希 哈希冲突 k-v 8. 图 BFS DFS 9. 排序 ...
分类:
编程语言 时间:
2017-08-23 19:05:21
阅读次数:
149
2017-08-20 15:21:31 writer:pprp set集合容器使用红黑树的平衡二叉树检索树,不会将重复键值插入,检索效率高 logn 检索使用中序遍历,所以可以将元素从小到大排列出来 ...
分类:
其他好文 时间:
2017-08-20 18:25:43
阅读次数:
122
讲的通俗易懂,忍不住内心的欢喜,独乐乐不如众乐乐,下面贴出博文及地址: 概要 目录1 红黑树的介绍2 红黑树的应用3 红黑树的时间复杂度和相关证明4 红黑树的基本操作(一) 左旋和右旋5 红黑树的基本操作(二) 添加6 红黑树的基本操作(三) 删除 【转】 作者:Sky Wang :http://w ...
分类:
编程语言 时间:
2017-08-20 12:43:21
阅读次数:
225
最近朋友去面试被问了些hashmap相关的问题,hashmap的初始容量啊,什么操作最耗时等,之前看过hashmap的源码,正好这里也在总结下。 主要围绕下面几个点: 代码参考jdk1.7 HashMap是由数组+链表(jdk8 升级为红黑树)结构实现 这个是再put时候会初始化一个数组,在key ...
分类:
编程语言 时间:
2017-08-19 21:16:45
阅读次数:
336
B树是为了提高磁盘或外部存储设备查找效率而产生的一种多路平衡查找树。 B+树为B树的变形结构,用于大多数数据库或文件系统的存储而设计。 B树相对于红黑树的区别 在大规模数据存储的时候,红黑树往往出现由于树的深度过大而造成磁盘IO读写过于频繁,进而导致效率低下的情况。为什么会出现这样的情况,我们知道要 ...
分类:
其他好文 时间:
2017-08-17 22:52:02
阅读次数:
330
第十二章 二叉搜索树 >=左子树的所有key,<=右子树的所有key 在一棵高度为h的二叉搜索树上,动态集合上的操作SEARCH,MINIMUM,MAXIMUM,SUCCESSOR,PREDECESSOR,INSERT和DELETE可以在O(h)时间内完成。 h>=(lgn向下取整) 和快速排序算法 ...
分类:
编程语言 时间:
2017-08-17 14:35:57
阅读次数:
128
红黑树(一)之 原理和算法详细介绍 R-B Tree简介 R-B Tree,全称是Red-Black Tree,又称为“红黑树”,它一种特殊的二叉查找树。红黑树的每个节点上都有存储位表示节点的颜色,可以是红(Red)或黑(Black)。 红黑树的特性:(1)每个节点或者是黑色,或者是红色。(2)根节 ...
分类:
其他好文 时间:
2017-08-15 19:49:36
阅读次数:
174