代码实现如下: 1 #include 2 #include 3 #include 4 5 #define MIN (1 left); 23 MakeEmpty(t->right); 24 free(t); 25 } 26 return...
分类:
其他好文 时间:
2014-11-06 17:02:13
阅读次数:
219
leetcode 原题 :(即判断二叉树是否为二叉查找树)Given a binary tree, determine if it is a valid binary search tree (BST).Assume a BST is defined as follows:The left subt...
分类:
编程语言 时间:
2014-11-05 22:54:17
阅读次数:
204
红黑树的介绍红黑树(Red-Black Tree,简称R-B Tree),它一种特殊的二叉查找树。红黑树是特殊的二叉查找树,意味着它满足二叉查找树的特征:任意一个节点所包含的键值,大于等于左孩子的键值,小于等于右孩子的键值。除了具备该特性之外,红黑树还包括许多额外的信息。红黑树的每个节点上都有存储位...
分类:
编程语言 时间:
2014-11-05 19:31:58
阅读次数:
299
R-B Tree简介 R-B Tree,全称是Red-Black Tree,又称为“红黑树”,它一种特殊的二叉查找树。红黑树的每个节点上都有存储位表示节点的颜色,可以是红(Red)或黑(Black)。红黑树的特性:(1)每个节点或者是黑色,或者是红色。(2)根节点是黑色。(3)每个叶子节点(NIL....
分类:
其他好文 时间:
2014-11-05 19:12:18
阅读次数:
315
摘要: 本章介绍了二叉查找树的概念及操作。主要内容包括二叉查找树的性质,如何在二叉查找树中查找最大值、最小值和给定的值,如何找出某一个元素的前驱和后继,如何在二叉查找树中进行插入和删除操作。在二叉查找树上执行这些基本操作的时间与树的高度成正比,一棵随机构造的二叉查找树的期望高度为O(lgn),从而....
分类:
其他好文 时间:
2014-11-04 22:32:57
阅读次数:
353
红黑树是特殊二叉查找树的一种,一颗红黑树有以下5种性质:1、根节点为黑色。2、每个节点不是黑色就是红色。3、每个红色节点的两个儿子一定是黑色。4、所有的叶子节点都是黑色。(注:这里的叶子节点并不是真正意义上的叶子节点,而是一种只有颜色属性但不存放数据的节点,而且其没有儿子节点)5、一个红黑树的中任取...
分类:
其他好文 时间:
2014-11-03 20:36:28
阅读次数:
215
1. 什么是二叉排序树?
二叉排序树是一种特殊的二叉树,可以是一棵空树,也可以是具有下列性质的二叉树:
1. 若左子树不为空,那么左子树所有结点的值都小于它的根结点的值。
2. 若右子树不为空,那么右子树所有结点的值都大于它的根节点的值。
3. 它的左右子树也分别是二叉排序树。
二叉排序树又称二叉查找树,是一种动态查找表,所谓动态查找表是指除了查询...
分类:
编程语言 时间:
2014-11-01 11:57:07
阅读次数:
281
在前面的系列文章中,依次介绍了基于无序列表的顺序查找,基于有序数组的二分查找,平衡查找树,以及红黑树,下图是他们在平均以及最差情况下的时间复杂度:可以看到在时间复杂度上,红黑树在平均情况下插入,查找以及删除上都达到了lgN的时间复杂度。那么有没有查找效率更高的数据结构呢,答案就是本文接下来要介绍了散...
分类:
编程语言 时间:
2014-10-31 23:36:25
阅读次数:
387
Trie树,也叫字典树、前缀树。可用于”predictive text”和”autocompletion”,亦可用于统计词频(边插入Trie树边更新或添加词频)。
在计算机科学中,trie,又称前缀树或字典树,是一种有序树,用于保存关联数组,其中的键通常是字符串。与二叉查找树不同,键不是直接保存在节点中,而是由节点在树中的位置决定。一个节点的所有子孙都有相同的前缀,也就是这个节点对应的字符串...
分类:
编程语言 时间:
2014-10-28 13:54:45
阅读次数:
366
Trie树,也叫字典树、前缀树。可用于”predictive text”和”autocompletion”,亦可用于统计词频(边插入Trie树边更新或添加词频)。在计算机科学中,trie,又称前缀树或字典树,是一种有序树,用于保存关联数组,其中的键通常是字符串。与二叉查找树不同,键不是直接保存在节点...
分类:
其他好文 时间:
2014-10-28 13:51:40
阅读次数:
546