如何最佳地找到极大阵列中的5个最大元素

时间:2015-11-09 15:15:18

标签: c# arrays algorithm data-structures

我有一个非常大的阵列。我必须找到该阵列中前5大元素。什么是最佳/最佳算法?

请注意,我不需要进行排序,而且它是一个未排序的数组

1 个答案:

答案 0 :(得分:5)

如果数组未排序,最有效的算法是遍历列表并将{5}最大元素存储在SortedList中。当迭代中的当前元素大于最小元素(SortedList中的第一个元素)时,删除最小元素并将当前元素添加到列表中。它的复杂性为O(n)