考虑一个由 –ve 和 +ve 数字组成的数组。将具有相同符号的数字完全隔离的算法的最坏情况时间复杂度是多少,即在一侧全部为 +ve,然后在另一侧全部为 -ve?
(A) O(N)
(B) O(N Log N)
(C) O(N * N)
(D) O(N Log Log N)
答案:(一)
解释:
这里我们可以使用快速排序的分区算法进行隔离,答案将是 O(N)。
选择第一个元素作为枢轴,无论它的符号是什么我们不关心,并在枢轴位置保留一个额外的索引。
这个问题的测验
📅  最后修改于: 2021-09-25 07:26:48             🧑  作者: Mango
考虑一个由 –ve 和 +ve 数字组成的数组。将具有相同符号的数字完全隔离的算法的最坏情况时间复杂度是多少,即在一侧全部为 +ve,然后在另一侧全部为 -ve?
(A) O(N)
(B) O(N Log N)
(C) O(N * N)
(D) O(N Log Log N)
答案:(一)
解释:
这里我们可以使用快速排序的分区算法进行隔离,答案将是 O(N)。
选择第一个元素作为枢轴,无论它的符号是什么我们不关心,并在枢轴位置保留一个额外的索引。
这个问题的测验