- 博客(3)
- 资源 (9)
- 收藏
- 关注
原创 红黑树
什么是红黑树红黑树是特殊的二叉搜索树,它比二叉搜索树多了一点颜色. 红黑树的五个性质: 1. 每一个结点要么是红色,要么是黑色 2. 根结点必须是黑色 3. 每个叶子结点(NIL)为黑色 4. 如果一个结点是红色,那么它的两个孩子结点都为黑色 5. 对于每个结点,从该结点到其所有后代叶子结点的简单路径上,均包含相同数目的黑色结点红黑树的结构体如下: 至少包含:color, key,
2017-07-20 18:25:43 365
原创 二叉搜索树(遍历不递归,不用栈)
什么是二叉搜索树一棵二叉搜索树是以一棵二叉树来组织的,如下图: 这样的一棵树可以使用一个链表数据结构来表示,其中每个结点就是一个对象。除了key和卫星数据之外,每个结点还包含属性left, right 和 parent, 它们分别指向左孩子,右孩子和双亲。比如:typeof struct node{ int key; // other data... 即卫星数据 str
2017-07-03 23:28:51 1526
原创 hlist内核哈希链表应用-解决散列表表的冲突问题
散列表我们都知道在散列函数(如h)将关键字映射到散列表的槽中,关键字k2k_2和k5k_5映射到一个槽中,因而产生冲突,如图1: (图1) 有问题就有解决的办法,这里的解决办法就是链接法(chaining),链接法是怎么样的呢,如图2: (图2) 那么图2这个链接法是怎么建立的呢,我用的是C语言,借鉴的是Linux内核的哈希函数:例子:将关键字 5, 28, 19, 15, 20,
2017-07-02 00:13:17 467
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人