Trie(Retrieval Tree)又称前缀树,可以用来保存多个字符串,并且非常便于查找。在trie中查找一个字符串的时间只取决于组成该串的字符数,与树的节点数无关。因此,它的查找速度通常比二叉搜索树更快。trie的结构很简单,每条边表示一个字符,从根节点到叶节点就可以表示一个完整的字符串。所以...
分类:
编程语言 时间:
2015-03-21 06:19:38
阅读次数:
190
深度优先搜索算法(Depth First Search),是搜索算法的一种。是沿着树的深度遍历树的节点,尽可能深的搜索树的分支。
当节点v的所有边都己被探寻过,搜索将回溯到发现节点v的那条边的起始节点。这一过程一直进行到已发现从源节点可达的所有节点为止。如果还存在未被发现的节点,则选择其中一个作为源节点并重复以上过程,整个进程反复进行直到所有节点都被访问为止。
二叉树的深度优先遍历和先序遍...
分类:
其他好文 时间:
2015-03-20 10:57:09
阅读次数:
150
把几个主要的函数组合起来即可:1.从文本读取单个单词(去掉空格,特殊符号等)2.用读出来的单词去更新搜索二叉树的节点(涉及二叉树的构建问题,递归)3.中序遍历,来递归打印二叉树的每个节点代码:#include #include #include #include #define MAXWORD 10...
分类:
其他好文 时间:
2015-03-19 23:37:30
阅读次数:
184
1.hashtable
二叉搜索树具有对数平均时间的表现,但这样的表现构造在一个假设上:输入数据有足够的随机性。而hashtable在插入、删除、搜寻等操作上也具有“常数平均时间的表现”,而且这种表现是以统计为基础的,不依赖于输入的随机性。
一个简单的hashtable的例子:
如果元素是32bits而不是16bits,我们要准备的array就必须是4GB的...
分类:
其他好文 时间:
2015-03-13 16:33:36
阅读次数:
211
题意:给出两串数字,每一串数字都构成一颗二叉树,问这两颗二叉树是否为同一颗二叉树。可以用样例来考虑5 6 7 4 3 2 66大于5,6是5的右儿子7大于5,大于6,所以是5的右儿子的右儿子,即为6的右儿子4小于5,所以4是5的左儿子画出这一颗二叉树为 1 #include 2 #include.....
分类:
其他好文 时间:
2015-03-13 13:57:01
阅读次数:
143
1.AVL树
AVL tree是指任何节点的左右子树高度相差最多1的二叉搜索树。任何节点左右子树高度最多相差1能够保证AVL树具有“对数深度”的平衡状态。在对AVL tree进行插入操作时,可能造成树平衡被破坏。根据新结点插入位置的不同,可以将平衡的破坏分成四种情况:左左,左右,右左,右右。其中左左和右右被称为外侧插入,可以采用单旋转操作调制解决。而左右和右左则称为内侧插入,可以采用双...
分类:
其他好文 时间:
2015-03-13 10:58:13
阅读次数:
231
【数据结构第一周】最大子列和问题整理【数据结构第二周】线性表知识点整理【数据结构第二周】堆栈知识点整理【数据结构第二周】队列知识点整理【数据结构第三周】树知识点整理(上)【数据结构第四周】树知识点整理(下)【二叉搜索树】【数据结构第四周】树知识点整理(下)【平衡二叉树】【数据结构第四周】树知识点整理...
分类:
其他好文 时间:
2015-03-12 22:04:53
阅读次数:
132
1、二叉排序树的定义
二叉排序树(Binary Sort Tree)又称二叉查找(搜索)树(Binary Search Tree)。其定义为:二叉排序树或者是空树,或者是满足如下性质的二叉树:
(1)若它的左子树非空,则左子树上所有结点的值均小于根结点的值;
(2)若它的右子树非空,则右子树上所有结点的值均大于根结点的值;
(3)左、右子树本身又各是一棵二叉排序树。...
分类:
编程语言 时间:
2015-03-12 20:54:00
阅读次数:
263
之前在完成TinySTL项目中二叉搜索树的设计时发现要想完成其中序迭代器的设计,关键的一步是完成迭代器的++操作,当实现了这个操作时那么这个迭代器的90%的操作都可以很快的完成了。下面先来看看node的定义: struct node{ typedef T valu...
分类:
其他好文 时间:
2015-03-10 21:00:54
阅读次数:
163
unordered_map和map类似,都是存储的key-value的值,可以通过key快速索引到value。不同的是unordered_map不会根据key的大小进行排序,存储时是根据key的hash值判断元素是否相同,即unordered_map内部元素是无序的,而map中的元素是按照二叉搜索树...
分类:
编程语言 时间:
2015-03-09 22:18:28
阅读次数:
234