校招刷题群
高效刷题 迎战校招
校招精选试题
近年面笔经面经群内分享
Java刷题群 前端刷题群 产品运营群
首页 > 数据结构 > 哈希Hash
题目

既希望较快的查找又便于线性表动态变化的查找方法是()

A.顺序查找

B.折半查找

C.分块查找

D.哈希法查找

解答

正确答案是 C

希望较快而不是很快,并且希望便于动态变化,这个用C而不是D,如果哈希法的存储不是链式,一般的情况下随着关键字的增多,冲突频繁发生,查找性能会急剧下降,其实并不是太利于动态变化,索引顺序由于一般块内可以无序,因此块内可以方便地减少增加  

C 5条回复 评论
岸然

不错,慢慢看

发表于 2021-09-13 07:40:00
0 0
不圆*

哈希法存储随着关键字增多,冲突频繁发生,查找性能会急剧下降,不利于动态变化!而索引查找是先在索引表上查找出索引值k1,再根据索引k1找出索引K2(个人理解),

发表于 2018-10-11 19:42:23
0 0
傻二哈

索引查找先用二分快速确定所在的区,然后顺序查找得到对应的元素,前面比较快,后面可以动态维护。

发表于 2018-10-11 19:42:11
0 0
hentai111

分块查找算法的优点就是在线性表中插入或删除一个结点时,只需要找到该结点属于的块,比如有n个数,每块有i个数,则找到所在块的时间复杂度为log2(n/i+1)-1,接下来在数组尾插入数即可。如果删除的数不在数组尾,则将最后一个数赋值到删除的那个数。

发表于 2018-10-11 19:41:52
0 0
流星飒沓

索引查找是在索引表和主表(即线性表的索引存储结构)上进行的查找。索引查找的过程是:首先根据给定的索引值K1,在索引表上查找出索引值等于K1的索引项,以确定K1对应的子表在主表中的开始位置和长度,然后再根据给定的关键字K2,在对应的子表中查找出关键字等于K2的元素(结点)。
对索引表或子表进行查找时,若表是顺序存储的有序表,则既可进行顺序查找,也可进行二分查找。否则只能进行顺序查找。

发表于 2018-10-11 19:41:22
0 0