键树

来源:互联网 发布:外国域名注册 支付宝 编辑:程序博客网 时间:2024/06/07 02:21

键树又称为数字查找树,它是一颗度大于等于2的树,树中的每个结点中不是包含一个或几个关键字,而是只含有组成关键字的符号。例如,若关键字为数值,则结点中只包含一个数位;若关键字为单词,则结点中只包含一个字母字符。这种树会给某种类型关键字的表的查找带来方便。

        我们来举一个例子吧,下面有一个集合:

{CAI,CAO,LI,LAN,CHA,CHANG,WEN,CHAO,YUN,YANG,LONG,WANG,ZHAO,LIU,WU,CHEN}

        我们先针对首字母将其分配:

{CAI,CAO,CHA,CHANG,CHAO,CHEN}

{WEN,WANG,WU}

{ZHAO}

{LI,LAN,LONG,LIU}

{YUN,YANG}

        然后对其中4个关键字大于1的子集再按照第二个字符不同进行分割,直到分割到每个子集包含一个关键字为止。如下图所示:


这种键数的查找速度和HashTable基本相当,但是内存用量却只有HashTable的一半不到。这个对于大容量的数据查找还是一种可行的方法。比如计费系统中的用户资料在计费过程中使用非常频繁,如果id作为关键字的键树的话,会大大提高查询速度。


0 0
原创粉丝点击