Для ЯПматематиков пост: визуализация работы 19 алгоритмов сортировки

[ Версия для печати ]
Добавить в Telegram Добавить в Twitter Добавить в Вконтакте Добавить в Одноклассники
Страницы: (3) 1 [2] 3   К последнему непрочитанному [ ОТВЕТИТЬ ] [ НОВАЯ ТЕМА ]
m21edveD 13 апр. 2020 г. в 17:53
Ярила  •  На сайте 12 лет
3
Зато я пузырьковую сортировку на любом языке напешу... Если буду знать его синтаксис :)
А видос зачотный, чотко визализированы алгоритмы.

Это сообщение отредактировал m21edveD - 13 апр. 2020 г. в 17:54
gods02 13 апр. 2020 г. в 18:00
Ярила  •  На сайте 7 лет
7
Цитата (Уфимский @ 13.04.2020 - 16:22)
Цитата (denisg2 @ 13.04.2020 - 15:49)
Обычно доверяю сортировку SQL серверу. "order by" решает.

Ну-ну... Давай из жителей Москвы, например, сделай сортировку по ИНН. Просто интересно: насколько сервер зависнет... shum_lol.gif

А сервер так и работает.
Фактически, он создает временный индекс по полю "ИНН", сортирует его, и, затем, на основании этого индекса расставляет результаты.
Так что специфический подбор метода сортировки для конкретного массива вряд ли будет более эффективней, чем стандартный метод сервера.
Ну, и откровенно говоря, 20 млн. записей - не такая уж большая база cool.gif
думаю, на современном сервере результат будет в районе 1 секунды.

riv1329 13 апр. 2020 г. в 18:02
Ярила  •  На сайте 9 лет
11
Цитата (Eymerich @ 13.04.2020 - 15:16)
Круто. Сколько плохих методов оказывается есть.

зы а, забыл. Я так венду писал (par9)


В защиту "пузырька".

Не все так просто. Скорость каждого алгоритма очень сильно зависит от объема и типа данных. У умных алгоритмов делается меньше шагов, чем у тупого пузырька в пересчете на единицу данных, но сам шаг длиннее.

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

И чем больше объем данных, тем оправданее усложнение алгоритма, с целью снизить количество шагов.

Но дело не только в скорости. Бывает что ситуация накладывает ограничения на возможность использования дополнительной памяти. Для пузырька нужна лишь одна лишняя ячейка. Рекурсивные алгоритмы потребляют память на стек тем больше, чем больше выборка (но не пропорционально больше). Для некоторых алгоритмов вообще заранее невозможно подсчитать необходимое количество памяти, что согласитесь, "не айс": программа может "вылететь" из-за нехватки доступной памяти раньше чем закончит сортировку.

Это сообщение отредактировал riv1329 - 13 апр. 2020 г. в 18:06
waxq 13 апр. 2020 г. в 18:25
Приколист  •  На сайте 10 лет
1
Годно, 2 раза пересматривал.
YourBunnyWro 13 апр. 2020 г. в 19:32
Ярила  •  На сайте 9 лет
0
std::sort
AlexS32 13 апр. 2020 г. в 19:39
Ярила  •  На сайте 11 лет
5
Цитата (Revanche @ 13.04.2020 - 15:09)
Соглашусь с заголовком видоса- ооочень специфично.

Вот так будет понятней, например, пузырьковая сортировка массива:


pupch agree.gif

Это сообщение отредактировал AlexS32 - 13 апр. 2020 г. в 19:43
Нуипох 13 апр. 2020 г. в 20:38
Весельчак  •  На сайте 11 лет
2
Цитата

Для ЯПматематиков пост: визуализация работы 19 алгоритмов сортировки

А для остальных, таких как я hat.gif, пост: красная хрень из чёрных полосочек собирает чёрный треугольник. И так 19 раз. cheer.gif
Но зеленьнул,
Скрытый текст
причём до 50
, ибо смотрится прикольно! rulez.gif
artivenom 13 апр. 2020 г. в 21:17
Ярила  •  На сайте 12 лет
2
Блин, да это же древние как говно мамонта вещи, зачем это здесь?
artivenom 13 апр. 2020 г. в 21:18
Ярила  •  На сайте 12 лет
3
Цитата (IKA3AKI @ 13.04.2020 - 15:59)
Описание методов добавить бы и было бы очень интересно.

Программисты большую их часть их наизусть знают обычно, непрограммистам это не нужно вообще
vintyra 13 апр. 2020 г. в 21:27
Ярила  •  На сайте 13 лет
0
Как будто волосню бреют.
maxilon 13 апр. 2020 г. в 21:29
Пессимист  •  На сайте 10 лет
0
А если пару черточек спиздить?
Alien999 13 апр. 2020 г. в 21:40
Ярила  •  На сайте 12 лет
0
Афигительно. Спасибо.

Размещено через приложение ЯПлакалъ
Revelender 13 апр. 2020 г. в 21:44
Ярила  •  На сайте 12 лет
0
Я все ждал квадрат малевича увидеть

Размещено через приложение ЯПлакалъ
monsbl4 13 апр. 2020 г. в 21:44
Шутник  •  На сайте 7 лет
0
Нихуя не понятно, но очень интересно)

Размещено через приложение ЯПлакалъ
Zeugl1271 13 апр. 2020 г. в 21:45
Хохмач  •  На сайте 15 лет
0
std::sort(std::begin(),std::end(),[](const &){...}); и ебись оно конём!
trybros 13 апр. 2020 г. в 21:48
Ярила  •  На сайте 10 лет
-1
GOTO
AlexS32 13 апр. 2020 г. в 21:51
Ярила  •  На сайте 11 лет
3
Цитата (Zeugl1271 @ 13.04.2020 - 21:45)
std::sort(std::begin(),std::end(),[](const &){...}); и ебись оно конём!

А чей та лямбда с одним параметром-то? moderator.gif
metallsnab1 13 апр. 2020 г. в 22:04
Шутник  •  На сайте 11 лет
0
Методы определения: роста ВВП страны, благосостояния народа, рейтинги всякие ну и т.д. ?

Размещено через приложение ЯПлакалъ
Zeugl1271 13 апр. 2020 г. в 22:06
Хохмач  •  На сайте 15 лет
-1
Цитата (AlexS32 @ 13.04.2020 - 21:51)
Цитата (Zeugl1271 @ 13.04.2020 - 21:45)
std::sort(std::begin(),std::end(),[](const &){...}); и ебись оно конём!

А чей та лямбда с одним параметром-то? moderator.gif

это псевдокод behead.gif
artivenom 13 апр. 2020 г. в 22:07
Ярила  •  На сайте 12 лет
0
Цитата (AVIcrak @ 13.04.2020 - 17:54)
Цитата (ЯЕсть @ 13.04.2020 - 16:41)
Цитата
Ну-ну... Давай из жителей Москвы, например, сделай сортировку по ИНН. Просто интересно: насколько сервер зависнет...


Ну ок, а как сортировку организуешь ты, чтобы сервак моментально справлялся?

Считать два поля индекс и инн в отдельный массив, и уже с ним работать.
Не моментально, но сам сервер при этом не падает.
Гораздо интереснее обновлять этот массив синхронно с изменениями основной бд. Потому как встроенных средств на этот случай не предусмотрено, и каждый вояет свой оригинальный костыль.

Метод из какой-то умной книжки про сортировку номеров из телефонного справочника. rulez.gif Кажется это был Кнут.

Цитата (gods02 @ 13.04.2020 - 19:00)
Цитата (Уфимский @ 13.04.2020 - 16:22)
Цитата (denisg2 @ 13.04.2020 - 15:49)
Обычно доверяю сортировку SQL серверу. "order by" решает.

Ну-ну... Давай из жителей Москвы, например, сделай сортировку по ИНН. Просто интересно: насколько сервер зависнет... shum_lol.gif

А сервер так и работает.
Фактически, он создает временный индекс по полю "ИНН", сортирует его, и, затем, на основании этого индекса расставляет результаты.
Так что специфический подбор метода сортировки для конкретного массива вряд ли будет более эффективней, чем стандартный метод сервера.
Ну, и откровенно говоря, 20 млн. записей - не такая уж большая база cool.gif
думаю, на современном сервере результат будет в районе 1 секунды.

Ну хз на счёт именно БД, всё же там реализовано дерево, а не хэш, в том числе и в индексе. Возможно там есть спец. оптимизация для чисел. Но по общему правилу сортировка дерева будет всегда сложнее и медленнее, чем вставить записи в 1 проход в массив по очереди. Смысл именно в том, что индекс элемента массива = значению ИНН. 1 обход побитого массива и всё отсортировано. Быстрее варианта не может существовать просто. даже с индексом.

Это сообщение отредактировал artivenom - 13 апр. 2020 г. в 22:13
artivenom 13 апр. 2020 г. в 22:07
Ярила  •  На сайте 12 лет
0
Цитата (Kukuzapa @ 13.04.2020 - 18:49)
Цитата (ЯЕсть @ 13.04.2020 - 15:36)
Цитата
хотяб сводную табличку - количество времени, операций сравнения, операций записи


Если ты прогер - ты и так эту таблицу знаешь (ну видел по крайней мере), а если нет - то нах она тебе не нужна cheer.gif

Не согласен. Мне кажется, что во многих языках сортировка есть из коробки. Как следствие пользователи могут и не знать про сортировку что либо выходящее за рамки пузырька и перестановки.

Мне была бы интересна сравнительная таблица.

Пользователю и не нужно, а программистов иногда поёбывают этой хуйнёй на собеседованиях.
azzail 13 апр. 2020 г. в 22:09
Капитан крайнего хождения  •  На сайте 16 лет
1
Тот который "Пиу-пиу-пиу" - долго сортирует. Пиииииииу гораздо быстрее
Гар 13 апр. 2020 г. в 22:11
Хохмач  •  На сайте 9 лет
0
Сортируй- не сортируй, всё равно получишь... треугольник.
torroid 13 апр. 2020 г. в 22:13
Ярила  •  На сайте 12 лет
1
Один хуй все пузырьком сортируют, на большее ума не хватает. gigi.gif
ksp 13 апр. 2020 г. в 22:15
Весельчак  •  На сайте 14 лет
-1
Чо это? Нихт ферштейн вообще!

Размещено через приложение ЯПлакалъ
Понравился пост? Еще больше интересного в Телеграм-канале ЯПлакалъ!
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии. Авторизуйтесь, пожалуйста, или зарегистрируйтесь, если не зарегистрированы.
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) Просмотры темы: 12886
0 Пользователей:
Страницы: (3) 1 [2] 3  [ ОТВЕТИТЬ ] [ НОВАЯ ТЕМА ]


 
 



Активные темы






Наверх