文章分类 -  Java

摘要:散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。建表复杂度O(n)查找复杂度O(1)解决碰撞的方法:1. 链接2. 开放寻址3. 再哈希这是今年腾讯10.15的一道笔试题,理解之,就理解了链接和开放寻址法:已知一个线性表(38,25,74,63,52,48),采用的散列函数为H(Key)=Key%7,将元素散列到表长为7的哈希表中存储。若采用线性探测的开放定址法解决冲突,则在该散列表上进行等概率成功查找的平均查找 阅读全文
posted @ 2013-04-26 10:15 ScottChiang 阅读(887) 评论(0) 推荐(0)
摘要:ArrayList,LinkedList,Vestor这三个类都实现了java.util.List接口,但它们有各自不同的特性,主要如下:一、同步性ArrayList,LinkedList是不同步的,而Vestor是的。所以如果要求线程安全的话,可以使用ArrayList或LinkedList,可以节省为同步而耗费开销。但在多线程的情况下,有时候就不得不使用Vector了。当然,也可以通过一些办法包装ArrayList,LinkedList,使他们也达到同步,但效率可能会有所降低。二、数据增长从内部实现机制来讲ArrayList和Vector都是使用Objec的数组形式来存储的。当你向这两种类 阅读全文
posted @ 2013-04-24 02:41 ScottChiang 阅读(170) 评论(0) 推荐(0)