首页 > 试题广场 >

如果要求一个线性表既能较快地查找,又能适应动态变化的要求,可

[单选题]

如果要求一个线性表既能较快地查找,又能适应动态变化的要求,可以采用下列哪一种查找方法。()



  • 分块
  • 顺序
  • 折半
  • 哈希

应该选A分块查找

发表于 2019-10-07 15:40:08 回复(1)
A
分块查找是折半查找和顺序查找的一种改进方法,折半查找虽然具有很好的性能,但其前提条件时线性表顺序存储而且按照关键码排序,这一前提条件在结点树很大且表元素动态变化时是难以满足的。而顺序查找可以解决表元素动态变化的要求,但查找效率很低。如果既要保持对线性表的查找具有较快的速度,又要能够满足表元素动态变化的要求,则可采用分块查找的方法。
分块查找的速度虽然不如折半查找算法,但比顺序查找算法快得多,同时又不需要对全部节点进行排序。当节点很多且块数很大时,对索引表可以采用折半查找,这样能够进一步提高查找的速度。
分块查找由于只要求索引表是有序的,对块内节点没有排序要求,因此特别适合于节点动态变化的情况。当增加或减少节以及节点的关键码改变时,只需将该节点调整到所在的块即可。在空间复杂性上,分块查找的主要代价是增加了一个辅助数组。
需要注意的是,当节点变化很频繁时,可能会导致块与块之间的节点数相差很大,没写快具有很多节点,而另一些块则可能只有很少节点,这将会导致查找效率的下降。
发表于 2020-05-25 21:02:17 回复(0)

A

兄弟们相信我

发表于 2019-12-09 16:05:29 回复(0)
D
发表于 2019-05-28 09:02:03 回复(0)