Предположим, нам дан список n чисел, и мы хотим найти число, которое больше или равно медианной. Я хочу узнать нижнюю границу для наихудшей сложности этой проблемы. Я знаю, что нижняя граница нахождения медианы равна 3 (n-1)/2. Но будет ли это одинаково, если мы хотим найти номер больше или равно медиана.Нижняя граница нахождения медианы
ответ
Я думаю, что самый большой элемент первой половины списка (+1) будет иметь эту функцию. Если вы проверите элемент n/2 + 1, и вы сохраните наибольшее значение, может быть не более n/2-1 элемент больше вашего медиана кандидата. Таким образом, выбранное число будет в верхней половине чисел, что означает: оно больше или равно медианной.
Таким образом, вы можете найти его в n/2+1
.
Понадобится:
худший случай: п/2 comparsions и п/2 + 1 задания.
лучший случай: n/2 комплектов и 1 назначение.
Edit:
Ответ на Ваш комментарий:
Да. Если n
- четное число, любой случайный элемент будет больше или равен медиане с вероятностью не менее 0.5
. Почему «не менее 0,5»? Там могут быть тестовые случаи, где почти все числа равны средней. В этих случаях вероятность будет выше. Если вы хотите знать правильную вероятность, вы должны проверить все элементы. В других тестовых случаях с разными номерами любой случайный элемент находился бы в верхней половине упорядоченного списка с вероятностью 0,5.
Если n
нечетно, случайное число будет иметь эту функцию с вероятностью> 0,5. Это beacause n/2-0.5
элементов меньше, чем медианный, и n/2+0.5
элементов> = медиана (в общем случае). Если вы хотите, чтобы 0,5 была минимальной вероятностью, вы должны сделать некоторые изменения. У меня есть идея без каких-либо доказательств, может быть, кто-то соберет меня, если это не сработает: выберите 2 случайных значения из списка. Чем меньше будет действительное решение с вероятностью не менее 0,5.
Технически «O (n/2 + 1) = O (n) = O (2n) = O (9999999n)», поскольку константы не влияют на сложность большого О. Поэтому вы можете удалить «O». – Dukeling
@ Дукинг Вы правы, я удалил его. – gkovacs90
Можно ли написать случайный алгоритм, который возвращает действительный результат с вероятностью 0,5? – Jason
- 1. Нижняя граница Омега Нотация
- 2. Нижняя граница для StackPanel
- 3. Нижняя граница не видна
- 4. Tabhost нижняя граница андроида
- 5. CSS - Нежелательная граница-нижняя
- 6. UITextField: нижняя граница
- 7. Анализ рекурсию (нижняя граница)
- 8. Нижняя граница в UiTextfield
- 9. Нижняя граница на въезде
- 10. Нижняя граница рекурсивного алгоритма Левинштейна
- 11. «нижняя граница» в понимании Scala
- 12. Нижняя граница на Bootstrap Row
- 13. Нижняя граница с прозрачным изображением
- 14. нижняя граница временной сложности путаница
- 15. Верхняя и нижняя граница типа
- 16. HTML CSS Таинственная нижняя граница
- 17. UILabel нижняя и правая граница
- 18. Закругленная нижняя граница для div
- 19. Опциональная нижняя граница на div
- 20. Угловая нижняя граница - полная ширина
- 21. Анимированная нижняя граница (слева направо)
- 22. Нижняя граница Похож на волну
- 23. Сложность нахождения медианы с использованием двух кучек
- 24. Вероятность нахождения медианы с конечным пространством
- 25. Нижняя граница времени работы этого Алгоритм Построения для худшего случая
- 26. C++ sqrt гарантированная точность, верхняя/нижняя граница
- 27. Верхняя и нижняя граница цикла while
- 28. нижняя граница появляется при использовании строгого doctype
- 29. нижняя граница на столе не отображается
- 30. matlab histogram bin include - нижняя граница
Согласно [Dor et al. (2001) «О нижних границах для выбора медианы»] (http://www.nada.kth.se/~johanh/mediansdma.pdf) нижняя граница не менее 2 * n * + o (* n *), что больше 3 (* n * -1)/2. Вы делаете разные предположения о проблеме, чем они? – Simon