Быстрая сортировка (quick sort)
ฝัง
- เผยแพร่เมื่อ 14 ต.ค. 2024
- Разбор рекурсивного алгоритма быстрой сортировки. Урок №2 плейлиста "Алгоритмы на C/C++". Ссылки на мои курсы по программированию на платформе stepik.org:
Основы программирования на С/C++: stepik.org/a/5...
Основы программирования на C/C++ Часть2: stepik.org/a/1...
Основы языка Java: stepik.org/cou...
Объектно-ориентированное программирование на Java: stepik.org/a/1...
Вы меня спасли от отчисления, спасибо, огромное за это видео
А разве так можно было?) Простота - мать таланта. Главное - показан алгоритм, который можно осмыслить визуально , без награмождения слов. Огромное спасибо.
Талантливый преподаватель виден сразу! Спасибо за ясный способ пояснения!
Спасибо!
Соглашусь, что пока самое ясное объяснение из увиденных. Спасибо.
Воу, классное объяснение. Я хоть и на java пишу, но все понятно
Самое лучшее объяснение которое я нашел спасибо вам большое.
Отличное объяснение)
Отлично объяснили
Вау, потрясающе!
Не во всех случаях сортировка проводится корректно, после swap сделал бы проверку на изменение индекса опорного элемента
Все работает👍
А разве передается в функцию не копия массива, а исходный массив при выходе из функции останется неизменным?
В функцию передается копия указателя на начало массива. Поэтому содержимое массива мы можем в функции изменить. А вот указатель на его начало (совпадает с именем массива) - нет!
Так, я не понял, как может стать left > right, если оба значения нигде не изменяются? Объясните пожалуйста
Когда вызывается новая версия этой функции: quickSort(a, left, j), то на место параметра right приходит значение j. Т.е. правая граница уже будет другая! Аналогично, когда мы вызываем quickSort(a, i, right) - изменяется левая граница. Т.е. при входе в новую версию функции может оказаться, что left>right. И тогда будет возврат без нового вызова рекурсивной функции.
Гневный комментарий
Оксана хорошо объяснили 🎉❤