Comments 12
Визуализация 15 алгоритмов сортировки
www.youtube.com/watch?v=rQtereWDc24&feature=youtu.be
1. Selection Sort
2. Insertion Sort
3. Quick Sort (LR pointers)
4. Merge Sort
5. Heap Sort
6. Radix Sort ( LSD )
7. Radix Sort ( MSD )
8. std::sort (gcc)
9. std::stable_sort (gcc)
10. shell sort
11. bubble sort
12. Cocktail Shaker Sort
13. Gnome Sort
14. Bitonic sort
15. Bogo Sort
www.youtube.com/watch?v=rQtereWDc24&feature=youtu.be
1. Selection Sort
2. Insertion Sort
3. Quick Sort (LR pointers)
4. Merge Sort
5. Heap Sort
6. Radix Sort ( LSD )
7. Radix Sort ( MSD )
8. std::sort (gcc)
9. std::stable_sort (gcc)
10. shell sort
11. bubble sort
12. Cocktail Shaker Sort
13. Gnome Sort
14. Bitonic sort
15. Bogo Sort
+7
Назвать «сортировку выбором» (реже «простым выбором») «простой сортировкой»… Спасибо, посмеялся.
Ещё более смешно то, что для большинства сортировок написан код с прямым сравнением элементов непосредственно в этом коде, а для быстрой сортировки используется стандартная функция, реализующая сравнение через вызов функции, что в разы увеличивает время выполнения алгоритма. Разумеется, в столь заведомо неравных условиях быстрая сортировка проигрывает. Хотите, чтобы над Вашими результатами не смеялись — публикуйте результаты сравнения при использовании этой функции во ВСЕХ алгоритмах.
Ещё более смешно то, что для большинства сортировок написан код с прямым сравнением элементов непосредственно в этом коде, а для быстрой сортировки используется стандартная функция, реализующая сравнение через вызов функции, что в разы увеличивает время выполнения алгоритма. Разумеется, в столь заведомо неравных условиях быстрая сортировка проигрывает. Хотите, чтобы над Вашими результатами не смеялись — публикуйте результаты сравнения при использовании этой функции во ВСЕХ алгоритмах.
+1
Насчет сортировки выбором соглашусь. Хотя у меня почему-то такое название ассоциируется с другим алгоритмом. Если статья Вам не интересна, это не значит, что она не интересна или бесполезна другим. Я писал для начинающих, для тех, кто в 1001 раз задает на форумах вопросы «сортировка не работает», «надо сделать сортировкау пузырьком, как?» и т.п.
Что касается быстрой сортировки. Задачи реализовывать самому этот алгоритм не стояло. В статье показано, что можно использовать стандартный (если он доступен) и он дает весьма хороший результат (обгоняя пузырек и шейкер в 1000 раз на массиве в 100тыс элементов).
Минусов наставили, желание писать дальше для новичков отбили. Пишите тогда сами, а я посмотрю, что у Вас получится и найду недостатки (это гораздо проще, чем заметить достоинства).
Что касается быстрой сортировки. Задачи реализовывать самому этот алгоритм не стояло. В статье показано, что можно использовать стандартный (если он доступен) и он дает весьма хороший результат (обгоняя пузырек и шейкер в 1000 раз на массиве в 100тыс элементов).
Минусов наставили, желание писать дальше для новичков отбили. Пишите тогда сами, а я посмотрю, что у Вас получится и найду недостатки (это гораздо проще, чем заметить достоинства).
-1
Если над моими статьями будут смеяться те, кто сам ничего написать не может, то пусть смеются. Я считаю, что поставленную задачу — дать новичкам практическое понимание сортировки и руководство к действию выполнил. Показал, почему пузырьковая сортировка работает медленно, на каких данных. Показал, как пользоваться стандартной qsort (с этим у новичков бывают проблемы).
Посмотреть на видео с сортировками, конечно, интересно, но для новичков практической пользы немного, имхо. Он пишет «помогите сделать/исправить сортировку, она не работает», а я ему ссылку на видео дам? В общем, осталось дождаться мнений начинающих программистов и, исходя из них, решать — стоит ли заниматься этим дальше или нет.
Посмотреть на видео с сортировками, конечно, интересно, но для новичков практической пользы немного, имхо. Он пишет «помогите сделать/исправить сортировку, она не работает», а я ему ссылку на видео дам? В общем, осталось дождаться мнений начинающих программистов и, исходя из них, решать — стоит ли заниматься этим дальше или нет.
-1
Большой плюс статьи — объяснение принципов работы и указание на недостатки реализаций для конкретных случаев. То есть позволяет задуматься над поставленной задачей, а не решать ее в лоб каким-нибудь привычным способом.
0
Забавно, что гифка с сортировкой, характеризует и статью в целом. Выполнена небрежно и с ошибка. Отмазки в стиле «для новичков» не канают, потому что подобных статей вагон и маленькая тележка, и большинство из них выполнены на гораздо более высоком уровне, и можно было бы понять если бы данная статья была написана ради инвайта, но это не первая ваша статья. И почему эта статья находится на гике а не на хабре?
+1
Так приведите ссылку на более хорошую статью, все только спасибо скажут. И где ошибки в гифке?
0
вот http://habrahabr.ru/post/104697/ или вот http://habrahabr.ru/post/133996/ достаточно вбить в поиск.
Ошибка на гифке 32 не меняется с 31, а 31 не меняется с 30 в конце массив не отсортирован.
И да зачем в простой сортировке вы сравниваете значения так? if (m[j]/10<m[i]/10) при том, что ваш массив типа int он будет работать некорректно, это специально сделано чтобы новички искали ошибку? И судя по всему вы гифку делали с таким же сравнением.
Ошибка на гифке 32 не меняется с 31, а 31 не меняется с 30 в конце массив не отсортирован.
И да зачем в простой сортировке вы сравниваете значения так? if (m[j]/10<m[i]/10) при том, что ваш массив типа int он будет работать некорректно, это специально сделано чтобы новички искали ошибку? И судя по всему вы гифку делали с таким же сравнением.
+2
Я специально сделал сравнение по ключу, который есть число/10 и отметил это в статье, чтобы у 30,31,32 был одинаковый ключ. А сделал для того, чтобы увидеть, как сортировки поступают со значениями, имеющими одинаковый ключ (т.е. устойчивые они или нет), И это тоже в статье написано. Выходит, Вы пробежались по ней не читая и сразу стали высказывать свое «фи». Печально.
0
Еще одна страница, где наглядно показана работа различных сортировок [url]https://www.toptal.com/developers/sorting-algorithms [/url]
0
Sign up to leave a comment.
О сортировках (пузырьковой, быстрой, расческой...)