Я учусь на экзамен, и я не могу понять структуры данных & алгоритма сложности т.е. я знаю, что связанный список имеет insert
, get
, delete
реализацию методы, но то, что я не могу понять об этом 0(n)
или 0(1)
.
Я знаю, что n
означает размер списка и 1
означает линейный, но я не понимаю 0
или O
. Если вы можете объяснить, какая сложность и как это работает, я был бы благодарен. Поэтому, если бы вы могли мне помочь. Спасибо.Структура данных и алгоритмы сложности
-1
A
ответ
1
O (n) или O (1) обозначает порядок сложности. Например, если вы хотите найти элемент в массиве длиной n, и вы используете линейный поиск (означает, что поиск начинается с первого элемента один за другим), то, очевидно, время поиска зависит от размера массива. Таким образом, линейный поиск имеет сложность O (n). Принимая во внимание пример поиска в hashmap. В вставке и поиске хэшмапа выполняются на основе алгоритма хеширования. Средство для каждого времени поиска, которое требуется выполнить для поиска, не зависит от размера хэш-карты, но будет постоянным временем, используемым алгоритмом хеширования. Таким образом, это будет сложность O (1). Надеюсь, это поможет понять.
Смежные вопросы
- 1. Структура данных и алгоритмы java
- 2. Алгоритмы: объяснение сложности и оптимизации
- 3. O (fib n) алгоритмы сложности?
- 4. сложности (бесконечные алгоритмы) Calculate алгоритма
- 5. Структура данных словаря + методы быстрой сложности
- 6. Структура данных и алгоритмы для направленного циклического графа (F #)
- 7. Рекурсивная перестановка, Эллис Горовиц Алгоритмы и структура данных Путаница.
- 8. Вычисление временной сложности (2) Простые алгоритмы
- 9. Алгоритмы и структуры данных
- 10. Haskell, алгоритмы и школа
- 11. Различные алгоритмы дерева решений с сопоставлением сложности или производительности
- 12. Различные структуры данных и сложности
- 13. Параллельные алгоритмы и структуры данных
- 14. Сложность и алгоритмы функций
- 15. Структура PHP промежуточной сложности, между CodeIgniter и Yii?
- 16. Структура данных и слоев данных
- 17. Алгоритмы сжатия данных
- 18. Ppointer и структура данных
- 19. данных и директивы (структура)
- 20. Алгоритмы дедупликации данных
- 21. Алгоритмы: бинаризация данных
- 22. Почему STL отделяет структуры данных и алгоритмы
- 23. Ищете космические эффективные алгоритмы и структуры данных
- 24. «Группа по» и другие алгоритмы баз данных?
- 25. Фильтрация и алгоритмы сглаживания
- 26. Почему, алгоритм и структура данных, оба не рассматриваются вместе при анализе сложности Big O?
- 27. Алгоритмы обнаружения функций и алгоритмы дескриптора функциональности
- 28. Оптимальная структура 2D-данных
- 29. Сложности реализации nth_element
- 30. UML и алгоритмы
@StackFlowed Спасибо за помощь, потому что это было сложно для меня –
Давайте начнем с самой импортной вещи, которую он назвал «большой нотацией» - просто чтобы вы знали, что у вас есть для Google. [Статья в Википедии] [1] может дать вам довольно хороший обзор о том, что это такое. Если вы находитесь в спешке или просто хотите дважды проверить, есть ли у вас все в порядке, вы можете взглянуть на этот [cheatsheet] [2] [1]: http://ru.wikipedia.org/wiki/Big_O_notation [2]: http://bigocheatsheet.com/ – TobiSH
Ваш пример: O (1) означает постоянный. В соответствии с вашим примером сложность не изменится, если вы добавите один элемент в связанный список с 5 элементами или 5000 элементами. O (n) означает линейную сложность. В соответствии с вашим примером сложность операции получения связанного списка будет увеличиваться линейно с размером списка. – TobiSH