Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Упражнение 4
Используя суммирование членов арифметической прогрессии, докажите, что программа выше не только O( n^2 ), но так же и Θ( n^2 ). Если вы не знаете, что такое арифметическая прогрессия, то посмотрите в википедии — это не сложно.
Её алгоритм очевидно имеет О(n^2), как она может быть выше?
Это говорит о том, что наша программа асимптотически не хуже, чем n^2. Она будет работать или лучше, или также.
чем полезная? проще научиться глядя на алгоритм, говорить какая у него комплексити (сложность?).
имхо, от таблицы один профит — алгоритм в мой голове «на уровне», или можно лучше?
Научите меня? (напишите статью, как научиться в смысле). Прошел два курса, прослушал кучу лекций — я так и не понял как определяется сложность алгоритмов.
Многие нынешние программисты, пишущие классные и широко распространённые программы, имеют крайне смутное представление о теоретической информатике. Это не мешает им оставаться прекрасными творческими специалистами, и мы благодарны за то, что они создают.
Тем не менее, знание теории тоже имеет своё преимущества и может оказаться весьма полезным. В этой статье, предназначенной для программистов, которые являются хорошими практиками, но имеют слабое представление о теории, я представлю один из наиболее прагматичных программистских инструментов: нотацию «большое О» и анализ сложности алгоритмов. Также этот пост принесёт с собой понимание таких общих терминов, используемых теоретиками информатики, как «большое О», «асимптотическое поведение», «анализ наиболее неблагоприятного случая» и т.п.
Алгоритм с O( n ) имеет Θ( 1 ).
Может как быть, так и не быть истиной, зависит от алгоритма. В общем случае — это ложь. Если алгоритм является Θ( 1 ), то он, безусловно, и O( n ). Но если он O( n ), то может и не быть Θ( 1 ). Например, Θ( n ) алгоритм является O( n ), а Θ( 1 ) — нет.
Если алгоритм является Θ( 1 ), то он, безусловно, и O( n )и тут же
Θ( n ) алгоритм является O( n ), а Θ( 1 ) — нет
Введение в анализ сложности алгоритмов (часть 2)