给定一颗二叉查找树,给定一个值value,求该二叉查找树中不小于某个值value的最小数值。思考:二叉查找树的特征就是左子节点比父节点值小,右子节点比父节点值大。在获得该二叉查找树根节点的情况下,想要得到该二叉查找树中不小于某个值得最小数值,分以下几点考虑:1.如果currentNode.getDa...
分类:
其他好文 时间:
2014-08-06 22:46:32
阅读次数:
577
第 15 题(树):题目:输入一颗二元查找树,将该树转换为它的镜像,即在转换后的二元查找树中,左子树的结点都大于右子树的结点。用递归和循环两种方法完成树的镜像转换。 例如输入:8/ \6 10/ \ / \5 7 9 11输出:8/ \10 6/ \ / \11 9 7 5定...
分类:
其他好文 时间:
2014-08-04 21:07:08
阅读次数:
264
定义:又称字典树,单词查找树或者前缀树,是一种用于快速检索的多叉树结构,
如英文字母的字典树是一个26叉树,数字的字典树是一个10叉树。
核心思想:是空间换时间.利用字符串的公共前缀来降低查询时间的开销以达到提高效率的目的。
三个基本性质:
1. 根结点不包含字符,除根结点外每一个结点都只包含一个字符。
2. 从根结点到某一结点,路径上经过的字符连接起来,为该结点对应...
分类:
其他好文 时间:
2014-08-04 17:46:47
阅读次数:
231
定义:又称字典树,单词查找树或者前缀树,是一种用于快速检索的多叉树结构,如英文字母的字典树是一个26叉树,数字的字典树是一个10叉树。核心思想:是空间换时间.利用字符串的公共前缀来降低查询时间的开销以达到提高效率的目的。三个基本性质:1.根结点不包含字符,除根结点外每一个结点都只包含一个字符。2.从...
分类:
其他好文 时间:
2014-08-04 17:29:27
阅读次数:
239
1.把二元查找树转变成排序的双向链表(树)题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。 10 / \ 6 14 / \ / \ 4 8 12 16转换成双向链表4=6=8=10=12=14=16。首先我们定...
分类:
其他好文 时间:
2014-08-04 17:24:57
阅读次数:
237
Trie树,又称字符查找树、前缀树,主要用于字符匹配(详见http://en.wikipedia.org/wiki/Trie)。适合做关键词查找,比如查找文章中的关键字然后给他们加链接。 当然对脏词的过滤应用也是样,只是把替换连接的工作换成了替换字符。当前的代码还只是进行简单的替换,并没有做一些字符...
分类:
其他好文 时间:
2014-08-04 14:07:57
阅读次数:
270
AVL树是最先发明的自平衡二叉查找树。在AVL树中任何节点的两个子树的高度最大差别为一,所以它也被称为高度平衡树。查找、插入和删除在平均和最坏情况下都是O(logn)。增加和删除可能需要通过一次或多次树旋转来重新平衡这个树。AVL树得名于它的发明者G.M. Adelson-Velsky和E.M. L...
分类:
其他好文 时间:
2014-08-03 23:03:06
阅读次数:
273
package com.iflytek.tree;
import java.util.Random;
/**
* 二叉查找树
* @author fgtian
*
*/
public class BinaryTree {
public static class BinaryTreeNode {
int mValue; // 数值:以int代替,可以扩展成其他的
Binary...
分类:
其他好文 时间:
2014-08-03 18:09:35
阅读次数:
211
二叉堆(binary heap) 二叉堆数据结构是一种数组对象,它可以被视为一棵完全二叉树。同二叉查找树一样,堆也有两个性质,即结构性和堆序性。对于数组中任意位置i上的元素,其左儿子在位置2i上,右儿子在左儿子后的单元2i+1中,它的父亲在[i/2](向下取整)中。因此,一个数据结构将由一个数组、....
分类:
其他好文 时间:
2014-08-03 12:30:25
阅读次数:
324
/************************************************************************* root 根节点的 父亲节点 设为NULL ...
分类:
其他好文 时间:
2014-08-02 18:14:23
阅读次数:
267