«

»

Апр 13

Я станцую вам… сортировку массива.

Давным-давно, когда деревья были большими, набрел я в сети на видео, как «танцуются» математические выражения:

После просмотра меня мучили мысли – ну почему вот алгоритмы не танцуют? Хотя бы в мультиках. Всё какие-то палочки, шарики, точки передвигают 🙁

И вот сегодня… По рекомендации товарища, посмотрел видео, о сортировке массивов. Пожалел о том, что подобного не было тогда, когда я постигал основы алгоритмов

Disclaimer: Объяснять основы алгоритмов сортировки я не стану, на эту тему можно найти множество достойных источников, и дублировать их не вижу надобности.

Добавим фантазии
В университете Sapientia обитают веселые люди.
Ими был найден классный секрет успешного объяснения алгоритмов:
Немного народной музыки, немного народных костюмов, чувство ритма и воображение.

Под веселые ритмы были представлены:

  • Сортировка методом «пузырька»
  • Сортировка методом вставки
  • Сортировка методом Шелла
  • Сортировка выбором

Как же это выглядит и работает?

На сцене танцевальная группа, в народных костюмах. Но одна особенность сразу дает понять то, что всё не так-то и просто. Это цифры на груди и на спинах танцоров.
Эти цифры – значения элементов, которые-то и будут отсортированы.

Следуя беспристрастному алгоритму, определенные танцоры сравнивают значения на себе, и при необходимости совершают “swap” – весело и задорно меняются местами.
Если не надо меняться местами – можно и разойтись…

Да что тут говорить, смотрите сами 🙂

Сортировка методом «пузырька»

Сортировка методом вставки

Сортировка методом Шелла

Сортировка выбором

А если продолжить фантазировать, то получится: метод быстрой сортировки — выглядел бы как спортивное танго, а алгоритмы построения фрактальных поверхностей не иначе как тектоник 🙂

Поделиться в соц. сетях

Опубликовать в Facebook
Опубликовать в Google Plus
Опубликовать в LiveJournal
Опубликовать в Яндекс

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Вы можете использовать эти теги HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>