Перейти к содержимому

Алгоритм сортировки вставками: простое объяснение (с полным кодом) — серия уроков по алгоритмам н...

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/... Дайте мне знать, если вам нужно что-то еще. Хочу получить ответ! ------------------------- Всегда жду предложений по поводу того, какое видео снять дальше — оставляйте комментарии со своими проектами! Удачного программирования!