假设数据已经升序排序,折半查找算法是将n 个元素分成个数大致相同的两半,取a[n/2]与x 进行比较,如果(),则只需要在数组a 的左半部继续查找x.
举一反三
- 二分搜索算法的基本思想是将n个元素分成个数大致相同的两半,取a[n/2]与x进行比较:如果(),则只要在数组a的左半部继续搜索x。 A: x<a[n/2] B: x=a[n/2] C: x>a[n/2] D: x>=a[n/2]
- 二分搜索算法的基本思想是将 n 个有序元素分成个数大致相同的两半,取 a[n/2]与 x 进行比较:如果( ),则只要在数组 a 的右半部继续搜索 x。 A: x<a[n/2] B: x>=a[n/2] C: x=a[n/2] D: x>a[n/2]
- 下列有关算法的描述,错误的是( )? A: 二分法查找比顺序查找效率高 B: 二分法查找时数据必须已升序排序 C: 选择法对n个数排序,需要n-1轮比较 D: 冒泡法排序对n个数排序,最多比较n-1轮
- 设有序顺序表中有n个数据元素,则利用二分查找法查找数据元素X的最多比较次数不超过( )。
- 顺序查找算法的思想如下:对于给定的一个数组,从数据的第一个元素开始,依次比较所要查找的目标数据,直到找到目标数据或查找失败。具体步骤为: 1.从数组中的第一个元素开始,依次与关键字比较。 2.若某个元素匹配目标数据,则查找成功。 3.若查找到最后一个元素还未匹配目标数据,则查找失败。折半查找算法的思想如下:折半搜索算法也称二分查找算法,是一种在有序数据集中查找某一特定元素的搜索算法。折半搜索要求数据集中的结点按关键字值升序或降序排列。折半搜索算法的基本原理是:首先将待查值与有序数据集的中间项进行比较,以确定待查值位于有序数据集的哪一半,然后将待查值与新的有序数据集的中间项进行比较。循环进行,直到相等为止。则顺序查找和折半查找的时间复杂度分别为( ) A: O(n),O(n) B: O(n),O([img=54x25]1802f08564921ad.png[/img]) C: O([img=54x25]1802f08564921ad.png[/img]),O([img=54x25]1802f08564921ad.png[/img]) D: O([img=54x25]1802f08564921ad.png[/img]),O(n)