Как стать автором
Обновить

Комментарии 17

Тут даже пооптимизировать можно. Например, зачем в цикле по j идти по всем элементам массива — часть массива же уже отсортирована на предыдущих шагах.
$j зависит $iterations. А $iterations постоянно уменьшается. Т.е. все о чем вы пишите — реализовано.
Спасибо за замечание. Оптимизацию можно провести эвристически :) — реализовать более продвинутые алгоритмы сортировки.
Посмотрел таки в Википедию :) Для реализации полноценной пузырьковой сортировки надо ввести отдельную переменную, которая будет проверять, если ли перемещения элементов в текущем цикле. Если их нет — то сортировка завершена, выход из цикла.
Исправил код в статье и в репозитории (Hot fix :)).
Занятно, но мы проходили оба алгоритма на первом курсе института, абы не в школе (бинарный поиск так точно в школе). Что здесь нового/интересного для аудитории хабра?
Извините, я понимаю, что это уровень первого курса в ВУЗе. Вот я до этого уровня только дорос :)
Интересного для Хабра может быть то, что все делается в комплексе, например (алгоритм -> юнит-тест -> нагрузочное тестирование). Или интересным будет то, что подобные алгоритмы достаточно просты для реализации и не надо на курсы тратиться и ходить в течении нескольких месяцев. А все можно изучить самостоятельно быстрее и дешевле.

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

Ещё раз прошу прощения за слишком простую статью (как для всего сообщества в целом).
А почему на тестах сравнивается нативный sort с баблом? Почему не с быстрой сортировкой, например?
Сравнивать можно различные сортировки друг с другом. Думаю, на эту тему много кто писал более серьезные исследования. Я просто взял две сортировки (нативную на PHP и свою реализацию) и сравнил их.
Две последние строки в результатах тестирования поиска: массив на порядок больше, время выполнения на порядок меньше! Как так получилось?
Может дело в том, что я брал одно число для поиска?
Я видел это и пробовал менять код, запускать этот кусок отдельно, менять число для поиска — результат не менялся.
Сам удивлен этим фактом.
Сортировки сортировками, но вот вертикальное представление массива вижу впервые :)
НЛО прилетело и опубликовало эту надпись здесь
Вы же в курсе, что у строительного уровня, расположенного на горизонтальной поверхности, пузырьки (а точнее пузырёк) будет строго по центру?
Я сам был удивлен в начале подобным представлением. А потом понял (прочитал) — что это как бы наглядная иллюстрация к пузырьковой сортировке: «тяжелые» (большие) числа опускаются на дно, а «легкие» (маленькие) числа всплывают наверх :)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации