В прошлом году я читал фантастическую статью «Квантовая механика для детского сада» . Это была не простая бумага.
Теперь мне интересно, как объяснить быструю сортировку простейшими словами. Как я могу доказать (или, по крайней мере, вручную), что средняя сложность равна , и каковы лучшие и худшие случаи для класса детского сада? Или хотя бы в начальной школе?
algorithms
education
algorithm-analysis
didactics
sorting
jonaprieto
источник
источник
Ответы:
По своей сути Quicksort таков:
Я думаю, что каждый 4-летний ребенок на планете может сделать 1 и 2. Рекурсия может потребовать немного большего объяснения, но для них это не должно быть так сложно.
Что касается сложности, наихудший случай должен быть довольно простым. Просто рассмотрим уже отсортированный массив:
Довольно легко увидеть (и доказать), что это .12N2
Я не знаком с доказательством среднего случая, поэтому я не могу сделать предложение для этого. Можно сказать, что в несортированном массиве длины вероятность выбора наименьшего или наибольшего элемента равна 2L , так ...?2N
источник
Быстрая сортировка на самом деле довольно проста для понимания, если они понимают основы подсчета и деления на 2. Создайте несколько флэш-карт X, пронумеруйте их 1 - X и перемешайте. Тогда вот объяснение:
Поздравляю. Вы только что научили группу детей основным принципам адаптивного алгоритма быстрой сортировки! Вы можете пойти немного глубже, чем это, в зависимости от умственной зрелости, но для того, чтобы идти дальше этого уровня, требуется некоторое понимание формальной логики.
Что касается доказательства его сложности, это сложнее. Это одна из вещей, которая требует формальной логики, и они должны будут сначала понять основные принципы нотации Big-O. Вы могли бы хотеть задержаться на этой части сначала.
источник
Как насчет этого?
Информатика отключена - алгоритмы сортировки
Это не совсем охватывает все ваши вопросы, но это хорошее начало.
Дополнительные ресурсы по этой теме связаны здесь .
Они также сделали доступным видео, объясняющее алгоритмы сортировки (включая быструю сортировку) здесь . Это видео действительно помогает понять разницу между различными алгоритмами сортировки для маленьких детей.
источник
Посмотрите на графическую прелесть этой маленькой демонстрации .
,
источник