Может быть. Мне тоже изначально не нравится O(n2), просто решил не перечить оклендским математикам, а предоставить опровержение хабраюзерам прочитавшим эту статью.
Чаще всего сортировку наглядно представляют как бисер нанизанный на спицы. Или как шарики, скатывающиеся по узким желобкам. Второй вариант мне был проще для создания анимации.
O(1) — это результат некоего теоретизированного рассуждения, мысленный эксперимент с участием идеального физического устройства в идеальных условиях, реализующего эту сортировку. Если абсолютно исключить трение, поместить устройство вблизи сверхмассивного тела, мгновенно и одномоментно предоставить шарикам возможность упасть вниз по спицам — то временная сложность будет стремиться как раз к такому значению. Как-то так.
O(n2) — это худший случай по памяти. Максимальное количество возможных значений n сортируемых натуральных чисел как раз равно n. В худшем случае m = n.
Почему при оценке памяти именно умножение, а не сложение? Потому что изначально входной массив из n элементов, а дополнительно приходится обрабатывать матрицу n x n (в худшем случае).
Насчёт counting sort. Да, бисерная сортировка — это сортировка подсчётом, но только через «одно место», ухудшенный вариант. Вместо того чтобы обрабатывать сами сортируемые числа, мы обрабатываем каждую единичку каждого числа. Всего единиц в массиве натуральных чисел равно сумме всех чисел S, отсюда и временная сложность O(S).
Сортировать бусинками невыгодно с какой стороны ни посмотри, но для пятничного поста алгоритм вполне годится :)
Фильм зачётный, как и всё творчество Акиры Куросавы.
Также можно провести некоторую аналогию с «Телохранителем», где главного героя тоже «работодатели» по-своему хотели «проэкзаменовать» и кто видел фильм, тот знает чем это для нехороших людей закончилось. )))
По содержанию фейсбуковской заметки А и его дальнейшим действиям (стирание записи с разоблачающими комментариями и последующее стыдливое помалкивание) можно сделать однозначный вывод что А:
Только сейчас понял, что Марьян — это мужик, в полосатой красной футболке. Немного не сориентировался в подписях, думал что перечислены слева направо люди на фотографиях. Ну и имя Марьян, почему-то воспринялось как женское.
В принципе, я не обратил внимание на последний абзац. Олимпиада проводилась в Советском районе города Самары, городская олимпиада, значит, уже проводилась среди победителей районов города. Теперь всё ясно.
Для окрестных сельских школ действительно проводят районный этап, победитель которого отправляется в районный центр на городскую. С другой стороны автор в свою школу добирается на автобусе из другого микрорайона, то есть это городская школа получается. В общем, не так уж важно.
Олимпиаду провели, самого достойного выявили, автор после треволнений тоже не ударил в грязь лицом, хабражители почитали симпатиную историю. Всем хорошо.
Уровень проверяющих, видать, был не ахти. Если Вы только поменяли имена переменных и + специально сделали одну ошибку — всё равно подлог очевиден. Скорее всего, сыграл фактор того что олимпиада проводилась на территории Вашей школы, и комиссия решила прикрыть на это глаза, тем более что на следующий этап ехал победитель, а не занявший 2-е место. Сам бывший учитель информатики и хорошо представляю как на уровне школ проводят олимпиады :)
Мне не совсем ясно, почему победитель районной олимпиады отправлялся потом на городскую. Вроде бы победители городских съезжаются на районную, а потом победители районных на областную.
В целом, зачётный рассказ. Он скорее не об обмане, а про то как человек искал и нашёл выход в безвыходном положении.
Ну, «изобрести» в детстве то что уже давно придумано — это святое. Если в юном возрасте есть желание и попытки «вносить свой вклад в науку» то можно только поприветствовать. Лишь бы в дальнейшем это не приобретало клинических форм как у некоторых.
Кроме того, приведённый способ не является «самой что ни на есть каноничной «сортировкой выбором». Об этом свидетельствует и честно признаваемая автором применимость только к массивам с неповторяющимися элементами. А также использование дополнительного массива (в классической selection sort расходов на дополнительную память нет).
O(1) — это результат некоего теоретизированного рассуждения, мысленный эксперимент с участием идеального физического устройства в идеальных условиях, реализующего эту сортировку. Если абсолютно исключить трение, поместить устройство вблизи сверхмассивного тела, мгновенно и одномоментно предоставить шарикам возможность упасть вниз по спицам — то временная сложность будет стремиться как раз к такому значению. Как-то так.
Почему при оценке памяти именно умножение, а не сложение? Потому что изначально входной массив из n элементов, а дополнительно приходится обрабатывать матрицу n x n (в худшем случае).
Насчёт counting sort. Да, бисерная сортировка — это сортировка подсчётом, но только через «одно место», ухудшенный вариант. Вместо того чтобы обрабатывать сами сортируемые числа, мы обрабатываем каждую единичку каждого числа. Всего единиц в массиве натуральных чисел равно сумме всех чисел S, отсюда и временная сложность O(S).
Сортировать бусинками невыгодно с какой стороны ни посмотри, но для пятничного поста алгоритм вполне годится :)
Также можно провести некоторую аналогию с «Телохранителем», где главного героя тоже «работодатели» по-своему хотели «проэкзаменовать» и кто видел фильм, тот знает чем это для нехороших людей закончилось. )))
1)Высокомерен.
2)Труслив.
3)Некомпетентен.
4)Нетактичен.
Оборони Б-г от таких начальников.
P.S. В общем, пора спать.
В целом, симпатичный отчёт. Приелись уже эти офисы будущего.
Расскажите ещё про какую-нибудь успешно пройденную олимпиаду :)
Олимпиаду провели, самого достойного выявили, автор после треволнений тоже не ударил в грязь лицом, хабражители почитали симпатиную историю. Всем хорошо.
Мне не совсем ясно, почему победитель районной олимпиады отправлялся потом на городскую. Вроде бы победители городских съезжаются на районную, а потом победители районных на областную.
В целом, зачётный рассказ. Он скорее не об обмане, а про то как человек искал и нашёл выход в безвыходном положении.
Кроме того, приведённый способ не является «самой что ни на есть каноничной «сортировкой выбором». Об этом свидетельствует и честно признаваемая автором применимость только к массивам с неповторяющимися элементами. А также использование дополнительного массива (в классической selection sort расходов на дополнительную память нет).
Сортировка Бабушкина особенно эффективна в симбиозе с другой сортировкой.