查找(二)散列表散列表是普通数组概念的推广。因为对普通数组能够直接寻址,使得能在O(1)时间内訪问数组中的任何位置。在散列表中,不是直接把keyword作为数组的下标,而是依据keyword计算出对应的下标。使用散列的查找算法分为两步。第一步是用散列函数将被查找的键转化为数组的一个索引。我们须要面对...
分类:
其他好文 时间:
2014-06-29 00:46:22
阅读次数:
548
#include#includetypedef char* ElementType;typedef unsigned int Index;#define MinTableSize 15struct ListNode;typedef struct ListNode *Position;struct H...
分类:
其他好文 时间:
2014-06-26 18:04:01
阅读次数:
155
散列表的实现常常叫做散列(hashing)。散列仅支持INSERT,SEARCH和DELETE操作,都是在常数平均时间执行的。需要元素间任何排序信息的操作将不会得到有效的支持。散列表是普通数组概念的推广。如果空间允许,可以提供一个数组,为每个可能的关键字保留一个位置,就可以运用直接寻址技术。当实际存...
分类:
编程语言 时间:
2014-06-22 10:55:33
阅读次数:
302
http://blog.csdn.net/czh0766/article/details/5260360昨天看了算法导论对散列表的介绍,今天看了一下Hashtable, HashMap这两个类的源代码,并参考了网上的一些观点,对它们的实现有了大概的理解。原来hashtable里的key-value还...
分类:
其他好文 时间:
2014-06-21 00:38:48
阅读次数:
379
1. trie树,又名字典树,顾名思义,它是可以用来作字符串查找的数据结构,它的查找效率比散列表还要高。
trie树的建树:
比如有字符串”ab” ,“adb”,“adc” 可以建立字典树如图:
树的根节点head不存储信息,它有26个next指针,分别对应着字符a,b,c等。插入字符串ab时,next[‘a’-‘a’]即next[0]为空,这...
分类:
其他好文 时间:
2014-06-14 14:25:50
阅读次数:
406
第一、爬虫及其行为方式
1.根集
2.连接的提取和相对链接的标准化
从页面提取出链接,然后把相对链接转化为绝对链接
3.避免环路的出现
4.循环和复制
5.记录爬过得链接
树和散列表有损的存在位图集群和索引
6.规范URL
7.避免循环和重复
规范URL广度优先的爬行节流:限制一段时间内机器人可以从一个WEB站点获取的页面的数量限制URL的大小URL/站点黑...
分类:
Web程序 时间:
2014-06-08 17:18:02
阅读次数:
264
labels:Collection List Set和Map用法与区别 java 散列表
集合Collection接 口的接口对 象的集合├List子接口按进入先后有序保存可
重复│├LinkedList接口实现类链表插入删除没有同步线程不安全│├ArrayList接口实现类数组随机访问没有同步线程...
分类:
其他好文 时间:
2014-05-26 10:20:32
阅读次数:
177
散列表(hashtable)
迭代器是用来遍历集合的。 Java5后集合都出了自己的遍历方式 如...
分类:
其他好文 时间:
2014-05-26 05:26:32
阅读次数:
213
查找(二)
散列表
散列表是普通数组概念的推广。由于对普通数组可以直接寻址,使得能在O(1)时间内访问数组中的任意位置。在散列表中,不是直接把关键字作为数组的下标,而是根据关键字计算出相应的下标。
使用散列的查找算法分为两步。第一步是用散列函数将被查找的键转化为数组的一个索引。
我们需要面对两个或多个键都会散列到相同的索引值的情况。因此,第二步就是一个处理碰撞冲突的过程,...
分类:
其他好文 时间:
2014-05-22 13:27:19
阅读次数:
421
查找(一)
我们使用符号表这个词来描述一张抽象的表格,我们会将信息(值)存储在其中,然后按照指定的键来搜索并获取这些信息。键和值的具体意义取决于不同的应用。
符号表中可能会保存很多键和很多信息,因此实现一张高效的符号表也是一项很有挑战性的任务。
我们会用三种经典的数据类型来实现高效的符号表:二叉查找数、红黑树、散列表。
二分查找
我们使用有序数组存...
分类:
其他好文 时间:
2014-05-22 10:33:13
阅读次数:
403