Мне просто интересно узнать о наиболее эффективный алгоритм.Найти n минимальных значений в массиве C
-9
A
ответ
2
В O(n)
: Вы можете использовать selection algorithm, чтобы найти 5 самых маленьких элементов в 5 * O(n)
= O(n)
время. На практике, однако, более эффективен следующий метод:
В O(nlogn)
: сортируйте массив (используя любой из нескольких алгоритмов, которые работают в O(nlogn)
времени), а затем просто посмотрите на первые пять элементов.
Хотя решение O(n)
выбора асимптотический предпочтительнее O(nlogn)
сортировочного раствора, на практике из-за очень большие скрытые константы в алгоритме O(n)
выбора, сортировки массива будет быстрее.
Смежные вопросы
- 1. Найти n минимальных значений в массиве
- 2. Мне нужны N минимальных (индексных) значений в массиве numpy
- 3. Вычисление максимальных и минимальных значений в массиве
- 4. Как найти N наименьших значений в 2-мерном массиве (C++)
- 5. Отображение максимальных и минимальных значений в C
- 6. Найти индексы x минимальных значений списка
- 7. Найти несколько минимальных значений с помощью NetLogo
- 8. Поиск минимальных и максимальных значений в массиве с помощью vb.net
- 9. Сумма минимальных значений в Maple
- 10. Относительная позиция в векторе n-минимальных значений в Matlab
- 11. Matlab несколько минимальных значений
- 12. Нахождение минимальных значений (свойств) коллекций в C#
- 13. Найти среднее значений в массиве
- 14. Сумма пяти минимальных значений
- 15. SQL: несколько минимальных значений
- 16. Найти столбцы показателей минимальных значений генератора в Python + Numpy
- 17. Получение минимальных значений отображений
- 18. Выберите несколько минимальных значений
- 19. Получение минимальных верхних n строк
- 20. Как найти заданное количество минимальных значений в матрице в MATLAB?
- 21. Как извлечь N минимальных точек и N максимальных точек (игнорируя повторяющиеся точки в массиве) в MATLAB?
- 22. Индексы минимальных/максимальных элементов в массиве 4D
- 23. Добавление значений в массиве n PHP
- 24. Как сохранить n значений в массиве?
- 25. Поиск индекса минимальных элементов в массиве
- 26. Как найти точное число минимальных значений в матрице?
- 27. Эффективно найти индексы всех значений в массиве
- 28. Как найти кластеры значений в массиве numpy
- 29. Определение минимальных значений в векторе в R
- 30. Найти верхние n элементов в матрице
Сортировка по возрастанию. Возьмите сначала 5. –
Ну, это выполнимо в линейном времени. Не нужно сортировать полностью. – PatJ
@PatJ Для массивов «не очень больших» сортировка будет работать лучше. –