Algorithm 搜索的时间复杂度
有一个非常大的排序数组。除一个元素外,每个元素重复多次。找到该元素需要多少时间?Algorithm 搜索的时间复杂度,algorithm,sorting,Algorithm,Sorting,有一个非常大的排序数组。除一个元素外,每个元素重复多次。找到该元素需要多少时间? 选项包括: 1.O(1) 2.O(n) 3.O(logn) 4.O(nlogn)这个问题的答案是O(n),原因如下 让我们首先总结一下我们获得的知识: 包含元素的大数组 数组已排序 除一项外,每项都会出现多次 问题是搜索一个只出现一次的项目的时间增长是多少 数组的sorted属性,我们可以使用它来加快对项目的搜索吗?是的,也不是 首先,由于数组不是按我们必须用来查找项的属性排序的(只出现一次),因此在这方面我们
选项包括:
1.O(1)
2.O(n)
3.O(logn)
4.O(nlogn)这个问题的答案是O(n),原因如下 让我们首先总结一下我们获得的知识:
- 包含元素的大数组
- 数组已排序
- 除一项外,每项都会出现多次
- 事实上,它被分类并没有帮助。假设您尝试了一种二进制方法,跳入中间的某个位置。您可以看到,该值有一个相同的邻居。现在你去哪一半
- 您将如何编写程序来查找值?您将从一端开始检查相邻元素不相同的元素。您必须遍历整个数组,直到找到值为止。So O(n)