Найти в Дзене
1001 строк кода

101 игра на python. Информатика. Алгоритмы сортировки

Статья из сборника 101 игра на python. В сборнике я публикую разбор кода учебного репозитория для делающих первые шаги в разработке на python и просто любителей хорошего кода. В репозитории находится сборник программ игр, написанных лёгким языком, по которым ты можешь изучать код. Репозиторий для лёгкого обучения коду на игровых примерах В повседневной жизни и в программировании мы сталкиваемся с необходимостью упорядочить данные. Это может быть что угодно: список покупок, книги на полке или результаты поиска. Алгоритмы сортировки – это набор инструкций, которые помогают нам расположить элементы в определенном порядке, будь то по возрастанию, убыванию или по какому-либо другому критерию. Для примера я возьму фрукты разного размера. Сопоставим фрукты с размерами. Будем использовать кортежи (tuple), где: Пример: (🍎, 1) – это мелкое яблоко с идентификатором 1. (Более легкие пузырьки всплывают раньше) Запустить код в google colab Посмотреть на github Другие материалы в серии Информатика
Оглавление
Статья из сборника 101 игра на python. В сборнике я публикую разбор кода учебного репозитория для делающих первые шаги в разработке на python и просто любителей хорошего кода. В репозитории находится сборник программ игр, написанных лёгким языком, по которым ты можешь изучать код.
dzen.ru101 Basic Computer Games | Дзен
dzen.ru101 Basic Computer Games | Дзен

Репозиторий для лёгкого обучения коду на игровых примерах

В повседневной жизни и в программировании мы сталкиваемся с необходимостью упорядочить данные. Это может быть что угодно: список покупок, книги на полке или результаты поиска. Алгоритмы сортировки – это набор инструкций, которые помогают нам расположить элементы в определенном порядке, будь то по возрастанию, убыванию или по какому-либо другому критерию.

Для примера я возьму фрукты разного размера.

Сопоставим фрукты с размерами. Будем использовать кортежи (tuple), где:

  • Первый элемент – это размер фрукта:
    🍎 (мелкий) – яблоко
    🍐 (средний) – груша
    🍉 (большой) – дыня
    🧺 (очень большой) – корзина
  • Второй элемент – это уникальный идентификатор, для работы программы.

Пример: (🍎, 1) – это мелкое яблоко с идентификатором 1.

-2

Алгоритмы сортировки (сравнение по размеру фрукта):

Сортировка пузырьком (Bubble Sort):

(Более легкие пузырьки всплывают раньше)

  • Алгоритм сравнивает соседние фрукты по размеру. Если фрукт больше, чем соседний, он меняется с ним местами.
  • Этот процесс повторяется до тех пор, пока весь список фруктов не будет отсортирован от меньшего к большему.
  • Аналогия: Представь, что у тебя есть аквариум с разными по размеру пузырьками воздуха. Более легкие пузырьки (соответствующие более мелким фруктам) будут всплывать на поверхность раньше, чем более тяжелые (соответствующие более крупным фруктам). Таким образом, более легкие фрукты "всплывают" наверх списка, а тяжелые опускаются вниз.
-3
-4

Сортировка вставками (Insertion Sort):

  • Алгоритм строит отсортированный список, добавляя в него фрукты один за другим. Новый фрукт вставляется в нужное место, чтобы сохранить порядок по размеру.
  • Аналогия: Представь, что ты играешь в карты, и тебе нужно собрать их по порядку (например, от меньшей к большей). Ты берешь карту за картой и, как только получаешь новую карту, ты вставляешь ее на нужное место в уже собранной части карт, раздвигая другие карты, если это необходимо. Ты строишь отсортированный ряд карт, добавляя в него новые.
-5
-6

Сортировка выбором (Selection Sort):

  • Алгоритм находит самый маленький фрукт в неотсортированной части списка. Затем он ставит этот фрукт на первое место в неотсортированной части списка.
  • Этот процесс повторяется до тех пор, пока все фрукты не будут отсортированы.
  • Аналогия: Представь, что ты участвуешь в конкурсе на самый маленький фрукт, и тебе нужно построить ряд фруктов в порядке возрастания размера. Ты внимательно осматриваешь все фрукты и выбираешь самый маленький из них, ставишь его первым в ряд. Затем ты снова выбираешь самый маленький из оставшихся и ставишь его вторым, и так далее, пока все фрукты не будут выстроены в ряд.
-7
-8
-9

Запустить код в google colab

Посмотреть на github

Другие материалы в серии Информатика

101 игра на python. Информатика | 101 Basic Computer Games | Дзен

Все серии на канале

101 Basic Computer Games | Дзен

Удачи!