首页 > 试题广场 >

下面关于二分查找的叙述正确的是 ( )

[单选题]

下面关于二分查找的叙述正确的是 (    )

  • 表必须有序,表可以顺序方式存储,也可以链表方式存储
  • 表必须有序且表中数据必须是整型,实型或字符型
  • 表必须有序,而且只能从小到大排列
  • 表必须有序,且表只能以顺序方式存储
跳表呢?
发表于 2018-12-10 21:46:05 回复(0)
二分查找的算法要求 1.必须采用顺序存储结构。 2.必须按关键字大小有序排列。 折半查找法也称为二分查找法,它充分利用了元素间的次序关系,采用分治策略,可在最坏的情况下用O(log n)完成搜索任务。它的基本思想是:(这里假设数组元素呈升序排列)将n个元素分成个数大致相同的两半,取a[n/2]与欲查找的x作比较,如果x=a[n/2]则找到x,算法终止;如 果xa[n/2],则我们只要在数组a的右 半部继续搜索x。 有人问链表为什么不行呢?我举个例子如果有10个数,那么我才用二分发,需要从头指针遍历到第五个指针的位置,如果第五个指针的数值比要查找的数值大,需要将指针后移两位。大家没有发现问题吗?每次比较值都需要遍历,而数组就没有这个问题,直接比较数组下标,直接取数值比较就可以了。
发表于 2019-05-24 14:33:00 回复(0)
二分查找是基于表按顺序存储,且有序
发表于 2019-03-01 09:00:52 回复(0)

为什么链表不行呢?

发表于 2019-02-23 17:08:14 回复(1)
折半查找,必须 有序顺序存储表
发表于 2017-07-04 23:13:37 回复(0)