У кого-то есть весь материал этого курса скачаный с coursera(видео+презентахи)? Дело в том, что для этого курса больше нет возможности View class archive.
Хм. У меня архив работает.
Хотя там ведь, вроде, два курса были: первый вел Тим Рафгарден без привязки к какому-либо ЯП, а второй с привязкой к Java вел, пардон забыл имя, крутой мужик из Адоби. Так вот я проходил курс у Рафгардена.
Вот-вот, та же беда. Поиск не дал результатов, в итоге лишь слайды смог найти, записался на следующую итерацию курса, чтобы иметь возможность скачать его целиком.
Это там где Robert Sedgewick и Kevin Wayne?
У меня есть (mp4 + pdf слайды, без задач), скачал когда понял что проходить вовремя нет времени.
Если на TPB по ссылке ниже не то, могу куда-то залить (1.1Gb)
Не очень понимаю, какая тут дана оценка, лучше было бы поставить асимптотичнчкую оценку, т.к может сложиться впечатление, что сортировка слиянием работает быстрее чем быстрая, что, вообще говоря не верно.
У сортировки слиянием оценка тета(nlogn) у быстрой O(nlogn) так что в теории быстрая может работать быстрее. Если я не напутал с оценкой сортировки слиянием
Между тем есть вероятность получить на быстрой сортировке O(N^2). На самом деле быстрая сортировка при прочих равных немного быстрее сортировки слиянием, за счет меньшего количестве перестановок (даже не смотря на то, что коэффициент при NlogN у быстрой сортировки не 1, а 2, если быть точнее, то там по-моему 1.39 в курсе проходила оценка). У сортировки слиянием свою плюсы… В общем между ними примерно паритет, выбор той или иной сортировки зависит от конкретных условий задачи.
Ну как легко...) вероятность не очень высока, я бы даже сказал достаточно мала, при условии что перед сортировкой производится перемешивание входных данных.
ну собственно обратный порядок вроде и есть худший случай, при случайном перемешивании входных данных, вероятность такого события достаточно мала. не готов дать точную оценку вероятности.
Нет, обратный порядок это один из лучших случаев, особенно при выборе пивота посередине. Такой массив будет отсортирован уже после первой итерации, дальше будут только сравнения без обменов.
Если пивот выбирается случайным образом, то вероятность худшего случая 1/(N!), если не напутал, причем от входного массива не зависит. Т.е. зависит конечно, учитывая то, что генераторы псевдослучайны. При этом, если выбирать пивот по принципу выборки трех элементов массива, и выбора среднего из них, то вероятность соотвественно еще ниже.
На удобном для быстрой сортировки наборе — конечно. Но нельзя сранивать несравнимые вещи — тета это не то же самое, что O в среднем.
Также есть реализации merge, которые в лучшем случае работают за O(N) — соответствено у них нет теты.
Кстати я вгляделся и перестал понимать таблицы в статье — что в них вообще содержится? Потому что это точно не O — у него нет констант.
Я имел в виду какой алгоритм будет работать быстрее при одинаковых ограничивающих функциях g(n), но разных асимптотических оценках O(g(n)), teta(g(n)) и omega(g(n))
heapsort в курсе был, но вот в сводную таблицу не попал. Посмотрел по слайдам информацию по heapsort, в худшем случае NlogN, то есть O(NlogN). Не устойчива, но не требует дополнительной памяти.
Видимо назревает необходимость вручную табличку переделать с добавлением сортировок.
Я себе несколько лет назад приготовил небольшой конспектик по алгоритмам на основе Википедии: files.mail.ru/1APV8Y
Полезно, если надо освежить в памяти экзотические алгоритмы перед интервью.
А здесь files.mail.ru/39KWOB — более развернутый конспект (тоже на основе Википедии)
Вот нагуглил парочку:
1) www.algolist.net/ (у меня в Опере верстка поехала — основной тексту уехал вниз)
2) www.cs.auckland.ac.nz/~jmor159/PLDS210/ds_ToC.html (субъективно слегка вырвиглазная графика и цвета)
http://e-maxx.ru/algo
Сборник сделан Ивановым Максимом — выпускником мех-мата Саратовского ГУ, серебрянным призером чемпионата мира по программированию ACM-ICPC 2011.
Я хотел указать на бессмысленность таких статей ввиду наличия обновляемых, редактируемых сообществом, динамических (табличку можно сортировать по разному) данных на Википедии. Т. е. если бы топики-ссылки до сих пор существовали лучше было бы просто дать ссылку, которую я запостил, и все.
Алгоритмы и структуры данных — шпаргалка