Я новичок в java и узнал о различных методах из docs.oracle.com, но, как ни странно, они не упоминали временную сложность любых методов, описанных там, например. на этой странице: https://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html#get(int)
есть информация о методе «get()», но нет информации о сложности! Я не нашел подходящего места, чтобы спросить, где найти информацию о сложности. Может быть, есть такая информация, как cplusplus.com, но я не знаю. Я искал сеть и не смог. Поэтому, пожалуйста, простите меня, если это глупый вопрос.Где найти временную сложность java-методов?
ответ
На самом верху этой страницы он говорит
Размер, IsEmpty, получить, установить, итератор, и операции ListIterator работают в постоянном времени. Операция add работает в режиме амортизированного постоянного времени, то есть для добавления n элементов требуется время O (n). Все остальные операции выполняются в линейном времени (грубо говоря). Постоянный коэффициент невысок по сравнению с константой для реализации LinkedList.
Итак, мне нужно прочитать всю страницу, чтобы узнать что-то конкретное о конкретном методе? – agassaa
@agassaa: предположительно это всегда наверху. В качестве альтернативы, если вы читаете документы для других языков/библиотек, простой способ поиска сложностей - поиск вхождений «линейных», «постоянных», «квадратичных». – Ishamael
Спасибо за предложение :) Кстати, как вы думаете, этот вопрос нужно удалить? поскольку это может не способствовать повышению производительности? – agassaa
- 1. Найти временную сложность алгоритма?
- 2. Найти временную сложность функции «Foo»
- 3. Найти временную сложность рекурсивной программы
- 4. Найти CN и временную сложность
- 5. Найти временную сложность рекурсивной функции
- 6. Как найти временную сложность алгоритма
- 7. Как найти временную сложность этого алгоритма?
- 8. как найти временную сложность, используя значение шага
- 9. Как найти временную сложность алгоритма ряда?
- 10. Как найти временную сложность следующего фрагмента кода
- 11. Как найти временную сложность анаграммы Algo
- 12. Как найти временную сложность следующего кода?
- 13. Как найти временную сложность рекурсивного алгоритма?
- 14. Объясните временную сложность алгоритма
- 15. Чтобы уменьшить временную сложность
- 16. уменьшить временную сложность циклов
- 17. Как определить временную сложность экспоненциально?
- 18. Найдите временную сложность сортировки пузырьков?
- 19. Как уменьшить временную сложность программы?
- 20. Улучшить временную сложность этого алгоритма?
- 21. Как найти временную сложность (Big O) этого блока кода?
- 22. Как найти временную сложность этого следующего фрагмента программы?
- 23. Как найти временную сложность данной программы в с
- 24. Не удается найти временную сложность рекурсивной функции с одной петлей
- 25. Найти сложность времени?
- 26. Как рассчитать временную сложность этого странного метода
- 27. Как итеративное углубление влияет на временную сложность?
- 28. Используя индукцию, чтобы доказать временную сложность функций
- 29. Как рассчитать временную сложность этой функции?
- 30. Как встраиваемые типы переменных меняют временную сложность?
«Операции типа size, isEmpty, get, set, iterator и listIterator выполняются в постоянное время. Операция add выполняется в режиме амортизированного постоянного времени, то есть для добавления n элементов требуется время O (n). другие операции выполняются в линейном времени (грубо говоря) ». Попробуйте прочитать описание в верхней части класса. –
Обратите внимание, что нет необходимости предоставлять временные сложности реализации метода. Обычно вы не найдете их, кроме как в нескольких очень широко используемых классах. –
жаль, что я этого не заметил. Но по-прежнему кажется, что недостаточно места для упоминания сложности всех методов в верхней части страницы. Мой запрос был, есть ли какое-нибудь конкретное место, чтобы прочитать все о конкретном методе? – agassaa