Найти тему
programmer's notes (python and more)

Программирование а языке Python. Сортировка Гномья

Доброго времени суток, читатели, зрители моего канала programmer's notes. Не забывайте подписываться и писать свои комментарии к моим статьям и видео.

Стандартные библиотеки Python | programmer's notes (python and more) | Дзен
Сортировки на языке Python | programmer's notes (python and more) | Дзен

Почему я считаю, что первым языком не должен быть Python. Ну просто нет никаких стимулов писать некоторые алгоритмы. Ну, хоть той же сортировки. Ну, а я буду писать алгоритмы на любом языке, потому как алгоритмы мне интересней.

См. также

Гномья сортировка на языке Python

Название сортировки связано с алгоритмом того, как садовые гномы (роботы) сортируют цветочные горшки. Сортировку ещё называется глупой. Забавно, но столь простая сортировка была открыта только в 2000 году.

Удивительно, но "глупая" сортировка не содержит ни вложенных циклов ни рекурсии. Не такая уж она глупая.

Суть алгоритма сортировки заключается в следующем. Сравниваются i-й и i+1-й элементы массива. Если i-й элемент меньше или равен i+1-ого то i увеличивается на 1. В противном случае происходит перестановка i-ого и i+1-ого элементов. При этом i уменьшается на 1. Это ключевой момент. Связан он с тем, что возможно придётся переставлять элементы с меньшими индексами. Таким образом меньшие элементы будут сдвигаться к началу массива. Важное граничное условие: i не будет уменьшаться, если оно равно 0. Процесс сортировки заканчивается, когда i достигает индекса последнего элемента.

Ниже на языке Python представлена программа гномьей сортировки

Текст программы см. ниже
Текст программы см. ниже
primer127.py

Результат выполнения программы

0 0 0 0 1 1 1 2 2 2 4 4 5 6 7 7 7

Вот в общем то и всё.

Предыдущая статья по сортировке...

Следующая статья по сортировке...

Хорошего программирования. Оставляйте свои комментарии, не забывайте про лайки и подписывайтесь на мой канал programmer's notes.

Запутанность правильно работающей программы может свидетельствовать о недюжинных способностях автора
Запутанность правильно работающей программы может свидетельствовать о недюжинных способностях автора