Тёмный

Сортировка кучей (пирамидальная сортировка) :: Heap sort 

Валерий Макаров
Подписаться 435
Просмотров 38 тыс.
50% 1

Сортировка кучей на AlgoLab:
algolab.valemak.com/ru/heap

Опубликовано:

 

7 авг 2020

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 50   
@alexalexander3252
@alexalexander3252 3 года назад
Фраза "спускаемся на уровень выше" на 6:14 взорвала мой мозг.
@LYT101
@LYT101 Год назад
Благодарю, это самое понятное визуальное представление алгоритма пирамидальной сортировки.
@maksim2530
@maksim2530 Год назад
Дай Бог тебе здоровья, чётко объяснил и разложил суть сортировки
@user-ep3jn2bu8z
@user-ep3jn2bu8z 14 дней назад
Мужик, ты реально хорош, спасибо тебе!
@alexanderstashchuk8330
@alexanderstashchuk8330 8 месяцев назад
Спасибо! Лучшее наглядное объяснение.
@solidesuu
@solidesuu 2 года назад
Далеко не лучшее объяснение, но отличная визуализация сильно выручает
@kalts_daniil
@kalts_daniil 3 месяца назад
Прекрасное объяснение! Спасибо огромное за урок!!!
@maxpo801
@maxpo801 2 года назад
Вы детально рассказываете реализацию идеи, но саму идею ПРОСТЫМИ СЛОВАМИ не рассказали. А по сути, мы хотим, получить как-то бинарное дерево, отсортированное по величине значений элементов. Проще начать сортировку с нижних троек, постепенно сортируя дерево вверх. Почему иногда происходит спуск вниз, если мы изначально поднимаемся от ветвей к корню? Потому что у нас цель получить отсортированное по убыванию значений дерево, а при перестановке значений у любого узла, одна из его ветвей может оказаться неотсортированной, что противоречит главной задаче - сортировке, и если не сделать спуск сразу, то алгоритм сортировки будет намного сложнее. Детали - это хорошо, но большинство академических преподавателей страдает невозможностью простыми словами изложить простую идею, которая изначально и приходит создателям в голову, когда они лежат в постели, сидят на унитазе, или едят. А так нам приходится пробираться из дебрей реализации к простой изначальной идее. А так, лайк за видео!
@vikvik7117
@vikvik7117 2 года назад
Золотые слова. Уже статьи 4 прочел, не разобрался. Решил видеоролики посмотреть.
@user-fx8is3hb9k
@user-fx8is3hb9k 2 года назад
Спасибо огромное! Очень хорошо и наглядно объясняете
@oleksii2362
@oleksii2362 2 года назад
Отлично подготовленная презентация! Спасибо!
@kagatooo
@kagatooo 3 года назад
Качество видео просто шик. Я и сам занимаюсь гайдами, но от вашего прикурил!
@user-dv4ti7wk5k
@user-dv4ti7wk5k 3 года назад
Большое спасибо, всё очень понятно объяснено!
@frysisrawhide8923
@frysisrawhide8923 3 месяца назад
Лучше и наглядное объяснение. Уже день пытаюсь вдуплить, почему да как.
@user-ow3vx1ov9e
@user-ow3vx1ov9e 3 года назад
Обалденно, спасибо огромное, продолжай выпускать свои ролики, пожалуйста!
@lukasmog777
@lukasmog777 Год назад
крутое наглядное объяснение!спасибо за видео!
@user-oh2wj8rz6u
@user-oh2wj8rz6u Год назад
Отличное объяснение, спасибо!
@user-tp3jb4ow1m
@user-tp3jb4ow1m 3 года назад
Спасибо! Разъяснено понятно!
@azimutjava
@azimutjava 3 года назад
Отличная подача!
@rustautopanel
@rustautopanel 3 года назад
Благодарен за видео!
@anikroan4357
@anikroan4357 10 месяцев назад
огонь!!!
@Km-pn3hf
@Km-pn3hf 2 года назад
спасибо за видео
@user-jo7ci2wy4j
@user-jo7ci2wy4j Год назад
Спасибо огромное
@user-pl5rb1nb3p
@user-pl5rb1nb3p Год назад
Графика хорошо показывает алгоритм
@maximusmm7723
@maximusmm7723 3 месяца назад
Спасибо вам
@hiitsif
@hiitsif 3 года назад
Спасибо!
@Mousepiece
@Mousepiece 3 года назад
Визуально понятно, но не понимаю, как это реализовать в виде кода
@andrey-ei4px
@andrey-ei4px 2 года назад
Такая же хуйня, заебало программирование в универе
@user-cb5wl4br8c
@user-cb5wl4br8c 2 года назад
@@andrey-ei4px оо, да понимаю. Нафиг вообще это прога нужна не на программиста поступал
@Rivrabobra
@Rivrabobra 3 года назад
блеск! спасибо))
@sadriddinovshukrulloh5491
@sadriddinovshukrulloh5491 2 года назад
spasibo vam bolshoe
@vgbhj
@vgbhj 8 месяцев назад
спасибо
@timursyrma
@timursyrma 3 года назад
Здравствуйте! Можете, пожалуйста, в ближайшем будущем разобрать Quick-Sort и Merge-Sort? А так, спасибо Вам за видео!! Все очень круто и понятно :)
@AndrasteCries
@AndrasteCries Год назад
ты что Бог?
@user-ix7mu1jc4b
@user-ix7mu1jc4b Год назад
святой
@sergey6661313
@sergey6661313 Год назад
Если в дереве всё равно сравниваются все элементы как минимум 1 раз - почему бы не заменить все эти перестановки на просто поиск максимального числа?
@user-ne4wu9hl6l
@user-ne4wu9hl6l Год назад
вот аналогично сижу и не понимаю этого... куча сравнений, постоянных перестановок туда сюда
@user-yz7wy3mm1h
@user-yz7wy3mm1h Год назад
потому что поиск максимума у тебя всегда будет занимать о(n) и для n операций выйдет о(n^2). Благодаря структуре кучи мы каждый раз получаем самый максимум в первом элементе массива (нулевом если быть точным), далее свопаем его с последним элементом, далее просеиваем этот новый первый элемент массива уже за logn т.к. на каждом уровне просеивания мы двигаемся логарифмически . В итоге получается n операций по logn. Пирамидальная сортировка хуже по скорости (на константу) чем те же быстрая и слиянием, но гораздо лучше вплане потребления памяти: в каждый момент времени в буфере находится максимум один элемент (потребление по памяти выходит о(1)). Это преимущество пирамидальной сортировки и является решающим в задачах где очень важно сортировать элементы в условиях ограничения расходуемой памяти.
@user-ne4wu9hl6l
@user-ne4wu9hl6l Год назад
@@user-yz7wy3mm1h уф.. спасибо большое за разъяснение. Но для общего понимания для меня слияние все равно гораздо проще для понимания и реализации, чем эта) видимо надо написать или применить ее пару тройку раз тогда может уложится получше)
@sergey6661313
@sergey6661313 Год назад
@@user-yz7wy3mm1h как раз тематика видео и должна была наглядно показать то что вы говорите. Но она этого не делает. По видео создаётся впечатление что сравнение происходит со ВСЕМИ элементами, что бы там не писали про сложнгости олгоритма заменяя понятные простому обывателю фразы проде "по одному сравнению на каждый элемент" буквами "On" и другими вы ясность не вносите. фактически достаточно было бы сказать что благодоря тому что пирамида "предсортирована" предыдрущей итерацией - это позволяет выполнить меньше сравнений чем при полном переборе.
@user-pe5mo5co4x
@user-pe5mo5co4x 2 года назад
"order by" - решает фсе!
@ivankrechet2331
@ivankrechet2331 26 дней назад
Ну вы хоть бы отредактировали своё выступление! Что значит "только спускаемся на уровень выше ..... спускаемся на уровень выше" ? И не надо оправдываться, что тут всё понятно, и что вы имели в виду вот именно этот или тот конкретный уровень ..... :)))
@ozimandias1738
@ozimandias1738 9 месяцев назад
Фронтендер знать такое не должен - никогда в работе не пригодится. Данное знание опционально.
@ExileHB
@ExileHB 9 месяцев назад
Но все равно интересно для себя
@ozimandias1738
@ozimandias1738 9 месяцев назад
@@ExileHB , написал коммент только потому, что вначале автор видео сказал: "... алгоритм, который должен знать каждый программист..."
@zhimbura
@zhimbura 8 месяцев назад
Дак он сказал каждый программист, а фронтендер не программист))
@narimz
@narimz 6 месяцев назад
Это зависит от воронки кандидатов. Если их много то обычно делают тесты на алгоритмы вне зависимости от направления : )
@tire_ks_murina
@tire_ks_murina 2 года назад
Не очень хорошее объяснение, никакие элементы на последнем этапе не "выкидываются" из дерева, а лишь переставляются с рекурсивной проверкой. Это некоторая "авторская модификация" алгоритма
@user-yz7wy3mm1h
@user-yz7wy3mm1h Год назад
мы просто длину рассматриваемого массива уменьшаем на 1 пока она не станет равно 0))) все ок он поясняет
Далее
Хэш-таблицы за 10 минут
13:01
Просмотров 119 тыс.
Чай будешь? #чайбудешь
00:14
Просмотров 975 тыс.
АКАДЕМИК ВОРУЕТ СНЕГ?!
00:50
Просмотров 77 тыс.
МИЛОТА🥹
00:11
Просмотров 134 тыс.
Вопрос Ребром - Ирина Мягкова
42:15
C# QuickSort Быстрая сортировка
21:32
Чай будешь? #чайбудешь
00:14
Просмотров 975 тыс.