摘要: 哈希表(散列表)的几个概念:映像:由哈希函数得到的哈希表是一个映像。冲突:如果两个关键字的哈希函数值相等,这种现象称为冲突。处理冲突的几个方法:1、开放地址法:用开放地址处理冲突就是当冲突发生时,形成一个地址序列,沿着这个序列逐个深测,直到找到一个“空”的开放地址,将发生冲突的关键字值存放到该地址中去。例如:hash(i)=(hash(key)+d(i)) MOD m (i=1,2,3,......,k(k=(hash_size + 1)/2时表示所有不同位置已经访问完,如果是循环可以跳出循环,此时(对应相应循环)不能再插入值或者要找的值不存在。具体例子为:1023. 简单哈希2Total:9 阅读全文
posted @ 2013-11-30 03:05 XYZ篮球 阅读(1351) 评论(1) 推荐(0) 编辑
摘要: 字典树,又称标定搜索树,是一种树形结构,也是一种哈希树的变形,典型的应用包括统计,排序和保存大量的字符串,但又不局限于字符串,还可以是数字等,所以常被搜索引擎系统用来进行词频统计,如搜索网站可用字典树进行热门搜索词的统计。它的特点是:利用字符串的公共前辍来节约存储空间,最大限度的减小字符串的比较,查询效率比哈希表高。对于大量数据而言,字典树所需要的空间相对较大,但是对于查询某个单词而言,其时间复杂度为O(n), n为字符串的长度,对于大量字符串而言,这样的查找速度是相当可观的。字典树的树形图为:线性结构为:其中第一节点为根节点,不存储数据。当查询某个单词时,从根节点开始,向下遍历,如要查找hi 阅读全文
posted @ 2013-11-30 02:35 XYZ篮球 阅读(769) 评论(0) 推荐(0) 编辑