数据结构
奔跑的路
这个作者很懒,什么都没留下…
展开
-
内核红黑树使用范例
内核红黑树使用范例 内核中的红黑树只是提供了一个管理机制,并没有提供具体的使用接口。需要使用者根据自己的使用环境去定义和实现自己的关键字(char,uchar, int, uint等类型)操作。这样可以更加灵活。 像内核中的链表,hash表的代码都是这种思想。 1 struct mytype 2 { 3 int num; 4 5转载 2015-01-08 11:29:38 · 846 阅读 · 0 评论 -
红黑树RB-tree
转自http://www.cnblogs.com/zhangchaoyang 红黑树RB-tree RB-tree是满足以下4个条件的二叉查找树: 每个节点不是红色就是黑色根节点为黑色不能存在两个连续的红色节点任一节点至NULL(树尾端)的每一条路径上,所含黑节点的数目必须相同 红黑树并不要求左右子树高度差控制在1以内,它的平衡条件比AVL树弱。然而红黑树通常能够导致良好的平衡状态,经转载 2015-01-08 11:27:35 · 645 阅读 · 0 评论 -
内核红黑树源码注解
内核红黑树源码注解 1 typedef struct st_rb_node { 2 /** 3 * 本结构体四字节对齐,因而其地址中低位两个bit永远是0。 4 * Linux内核开发人员非常爱惜内存,他们用其中一个空闲的位来存储颜色信息。 5 * parent_color成员实际上包含了父节点指针和自己的颜色信息。转载 2015-01-08 11:29:14 · 659 阅读 · 0 评论 -
Linux3.0内核哈希表分析与应用
前言: 1.基本概念: 散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。 2. 常用的构造散列函数的方法 散列函数能使对一个数据序列的访问过程更加迅速有效,通过散列函数,数据元素将被更快地定位。散列表的常转载 2015-03-16 17:11:54 · 592 阅读 · 0 评论