【发布时间】:2014-08-23 00:44:59
【问题描述】:
我正在为软件开发人员面试和审查算法做准备。我被困在一个问题上,询问“给定一个修改的选择排序算法,它按排序顺序返回大小为 n 的数组中的 k 个最小元素,最坏的情况是什么以 n 和 k 表示的运行时间?"
改进的选择排序算法:
A = [1...n] //an array of size n
for i = 1 to k
smallest = A[i]
for j = i + 1 to n
if A[j] < A[smallest]
smallest = j
swap (A[i], A[smallest])
我猜是 O(nk),但不知道为什么。
【问题讨论】:
标签: algorithm time-complexity selection-sort