Trie树又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希表高。 ...
分类:
其他好文 时间:
2014-10-27 21:08:03
阅读次数:
205
码完第一次编译执行竟然就成功了。。。高兴~问题描写叙述:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建不论什么新的结点,仅仅调整指针的指向。比如: 10 / \ 6 14 / \ / \ 4 8 12 16转换成双向链表4=6=8=10=12=14=...
分类:
编程语言 时间:
2014-10-26 12:56:10
阅读次数:
161
今早起来做 LeetCode,结果被这道题卡了将近1个半小时,忍着没有去搜答案,最后还是被我想出来了,而且直接一次AC,哈哈!现在在这里记录一下解题思路。原题:Givenn, generate all structurally uniqueBST's(binary search trees) t.....
分类:
其他好文 时间:
2014-10-24 15:57:21
阅读次数:
202
------------------------------------------------------读《算法》后感 一直以来,对于红黑树都没有很好的理解,指导看了《算法》和上了coursera上的公开课,终于算是有了较好的理解,现写下来和大家分享 前言:2-3查找树 虽然二叉搜索树已经很好的...
分类:
其他好文 时间:
2014-10-22 23:33:50
阅读次数:
378
CREATE FUNCTION getChildList(rootId INT) RETURNS varchar(1000) BEGIN DECLARE sChildList VARCHAR(1000); DECLARE sChildTemp VARCHAR(1000); SET sChildTem...
分类:
数据库 时间:
2014-10-22 17:45:04
阅读次数:
195
1.把二元查找树转变成排序的双向链表 ?题目: 输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。 要求不能创建任何新的结点,只调整指针的指向。 ?? 10 ?/ \ ?6?14 ?/ \ / \ 4?8 12 16 ?转...
分类:
编程语言 时间:
2014-10-22 16:08:23
阅读次数:
276
使二叉树成为二叉查找数的性质是:对于树的每个节点x,它的左子树的所有值小于x项的值,它的右子树的所有值大于x项的值。怎样构造一棵二叉查找树呢?首先设置树的数据结构struct BinaryNode{ int element; BinaryNode *left; BinaryNode...
分类:
其他好文 时间:
2014-10-22 12:24:03
阅读次数:
183
为了克服对树结构编程的恐惧感,决心自己实现一遍二叉查找树,以便掌握关于树结构编程的一些技巧和方法。以下是基本思路: [1] 关于容器与封装。封装,是一种非常重要的系统设计思想;无论是面向过程的函数,还是面向对象的对象,都是实现抽象和封装的技术手段。要使系统更加安全更具可维护性,就应当将封装思想谨记心...
分类:
编程语言 时间:
2014-10-20 20:49:33
阅读次数:
228
题目:http://codevs.cn/problem/1051/分析:当然单词查找树是可以的,但这题有更为简便的方法。可以先按字典序排序,然后弄一个栈,如果当前字串可以接到栈顶元素的后面,那么当前字串入栈,更新ans,否则栈顶元素弹出,知道当前字串可以接到新栈顶元素后面。
分类:
其他好文 时间:
2014-10-17 00:27:23
阅读次数:
209
前言
二叉排序树(又称二叉查找树、二叉搜索树),在进行查找、插入及删除操作时其平均时间复杂度为O(logn),但是它们的最坏时间复杂度都是O(n)和顺序查找的效率相同,出现这种情况的原因在于它们虽然对关键字值进行了排序,但是并没有对树的形状进行限制。即当关键字序列有序时,就会出现这种最坏情况(单侧的二叉树),平衡二叉树的引入就可以对其进行有效调整。例如:对于关键字序列(12,24,...
分类:
其他好文 时间:
2014-10-16 18:21:53
阅读次数:
280