Алгоритм сортировки вставками: простое объяснение (с полным кодом) — серия уроков по алгоритмам н...
Derrick Sherrill
0:00 / 0:00
Алгоритм сортировки вставками: простое объяснение (с полным кодом) — серия уроков по алгоритмам н...
120 847 просмотров · 7 лет назад
Derrick Sherrill
84,4 тыс. подписчиков
120 847 просмотров · 7 лет назад
Это видео является частью полной серии уроков по алгоритмам: • Bubble Sort Algorithm Explained (Full Code...
В этом видео мы рассмотрим алгоритм сортировки вставками.
Алгоритм сортировки вставками разбивает список на два подсписка: один с отсортированными значениями, а другой с неотсортированными. Мы перемещаем одно неотсортированное значение в отсортированный подсписок и сравниваем его значение со значениями слева. Мы перемещаем его на правильную позицию, меняя местами каждый раз, когда значение слева становится больше.
#СортировкаВставками #Python #Алгоритм
После сортировки элемента мы начинаем следующую итерацию и сортируем следующий неотсортированный элемент в неотсортированном подсписке.
Сложность алгоритма сортировки вставками составляет O(n^2), потому что мы по-прежнему выполняем сравнения с двумя вложенными списками. Однако этот алгоритм предпочтительнее алгоритмов пузырьковой сортировки и сортировки выбором. Мы берём «лучшие» части обоих алгоритмов и объединяем их в сортировку вставками.
Если вам нужно более наглядное представление о том, как мы используем алгоритм сортировки вставками, представьте, как мы организуем руки с игральными картами. Когда мы берём новую карту в руку, мы кладём её вперёд, определяем позицию, на которую она должна лечь в руке, а затем берём следующую. Алгоритм сортировки вставками пытается сделать то же самое.
Присоединяйтесь к нам в социальных сетях — мы будем выбирать приветствия на YouTube, Instagram, Facebook и Twitter!
FB - / codewithderrick
Insta - / codewithderrick
Twitter - / codewithderrick
LinkedIn - / derricksherrill
GitHub - https://github.com/Derrick-Sherrill
Огромное спасибо за вашу постоянную поддержку! На момент написания этого текста у меня более 5440 подписчиков! Невероятно, что у меня есть возможность делиться контентом о том, что меня действительно увлекает. Спасибо за ваши добрые слова поддержки и ободрения. Вы все потрясающие!
*****************************************************************
Полный код из видео:
def insertion_sort(list_a):
indexing_length = range(1, len(list_a))
for i in indexing_length:
value_to_sort = list_a[i]
while list_a[i-1] (greater than) value_to_sort and i(greater than)0:
list_a[i], list_a[i-1] = list_a[i-1], list_a[i]
i = i -1
#Извините - YouTube не разрешает угловые скобки в описании :(
return list_a
print(insertion_sort([7,8,9,8,7,6,5,6,7,8,9,8,7,6,5,6,7,8]))
https://github.com/Derrick-Sherrill/P...
Пакеты (и версии), использованные в этом видео:
Python 3.7
Текстовый редактор Atom
*****************************************************************
Код из этого урока и всех моих других можно найти на моем GitHub:
https://github.com/Derrick-Sherrill/D...
Посетите мой сайт:
https://www.derricksherrill.com/
Если вам понравилось видео, пожалуйста, поставьте лайк. Это значит для меня больше, чем вы можете себе представить. Спасибо за просмотр и спасибо за все ваши Поддержка!!
Часто задаваемые вопросы о канале --
Какой текстовый редактор вы используете?
Atom - https://atom.io/
Какое оборудование вы используете для съёмки видео?
Микрофон Blue Yeti - https://amzn.to/2PcNj5d
Защитный экран для микрофона - https://amzn.to/3bVNkEt
Soundfoam - https://amzn.to/37NV9ci
Настольная подставка для камеры - https://amzn.to/3bX8xhm
Световые боксы - https://amzn.to/2PanL95
Боковые светильники - https://amzn.to/37KSNut
Зелёный экран - https://amzn.to/37SFFnc
Какой компьютер/рабочее место вы используете?
Снимаю на iMac (экран 4K) - https://amzn.to/37SEu7g
Работаю на Macbook Pro - https://amzn.to/2HJ5b3G
Хранилище видео - https://amzn.to/2Pey8sw
Мышь - https://amzn.to/2PhCtv3
Стол - https://amzn.to/37O1Mv1
Стул - https://amzn.to/2uqHE4E
Какое программное обеспечение для редактирования вы используете?
Adobe CC - https://www.adobe.com/creativecloud.html
Premiere Pro для редактирования видео
Photoshop для обработки изображений
After Effects для анимации
Есть ли у меня какие-либо курсы?
Да, и я постоянно работаю над новыми!
https://www.udemy.com/user/derrick-sh...
Где я беру музыку?
Я беру всю свою музыку из бесплатной аудиобиблиотеки YouTube.
https://www.youtube.com/audiolibrary/...
Дайте мне знать, если вам нужно что-то еще. Хочу получить ответ!
-------------------------
Всегда жду предложений по поводу того, какое видео снять дальше — оставляйте комментарии со своими проектами! Удачного программирования!