【发布时间】:2009-12-13 07:56:10
【问题描述】:
我刚刚写了这个考试,其中有一个问题:考虑一个大小为 2n 的数组,其中奇数位置的数字按升序排序,偶数位置的数字按降序排序。现在,如果我必须在这个数组中搜索一个数字,这是一个好方法吗?选项是:
- 快速排序然后二分查找
- 合并两个排序好的数组,然后二分查找
- 顺序搜索
在1中,快速排序需要O(n log n)和二分查找,O(log n)
在 2 中,Merge 需要 O(n) 然后 O(log n) 进行二分查找
在 3 中,需要 O(n)。
所以 3 原来是要走的路。那是对的吗?有没有更好的选择?
编辑:我接受了卢卡斯的回答,因为他是第一个。唉,那是另一种选择。我得到-1。 :(
【问题讨论】: