标签: c# arrays algorithm data-structures
我有一个非常大的阵列。我必须找到该阵列中前5大元素。什么是最佳/最佳算法?
请注意,我不需要进行排序,而且它是一个未排序的数组
答案 0 :(得分:5)
如果数组未排序,最有效的算法是遍历列表并将{5}最大元素存储在SortedList中。当迭代中的当前元素大于最小元素(SortedList中的第一个元素)时,删除最小元素并将当前元素添加到列表中。它的复杂性为O(n)。
SortedList
O(n)