ссылка на гифку
Подробнее
geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор,сортировка,гиф анимация,гифки - ПРИКОЛЬНЫЕ gif анимашки
Подробнее
geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор,сортировка,гиф анимация,гифки - ПРИКОЛЬНЫЕ gif анимашки
Еще на тему
О да!
к примеру, QuickSort предполагает, что сортировка будет применяться к массиву, сложность будет O(nlogn). При этом нужны все данные разом. Из плюсов то, что дополнительного места не нужно, сортировка происходит за счет обмена значениями между медианой.
А вот к примеру Insertation Sort не нужен массив, сортировать можно просто поток данных, данных приходят, ты через O(logn) вычисляешь позицию и вставляешь её в LinkedList'е, к примеру. Сложность такого алгоритма будет тоже O(nlogn), так как для каждого элемент (n) надо найти позицию через log(n)
Merge сорт довольно прикольный и простой метод, основанный на том принципе, что 2 сортированных массива можно легко объединить в 1 отсортированный, если у тебя есть неупорядоченный набор данных и ты будешь разбивать его пополам рекурсивно, то в какой то момент получится, что в каждый подмассив будет размером из 1ого элемента, который априори является упорядоченным и дальше все эти массивы рекурсивно объединяются. Минус такого алгоритма в том, что нужно дополнительная память для хранения промежуточных результатов, либо кучу итераторов
Проще говоря, важна не столько сложность, сколько эффективность применения для разных типов данных, QS так же может быть не всегда эффективным, к примеру, при первом проходе если медиана будет минимальное или максимальное значение, то получится, что первый проход будет холостой.
в С# и Java применяется QS
погугли, все эти алгоритмы сортировки только на 1ый взгляд кажутся сложными, на деле все они довольны просты и гениальны :)
https://docs.microsoft.com/en-us/dotnet/api/system.array.sort?redirectedfrom=MSDN&view=netframework-4.8#System_Array_Sort__1___0___System_Comparison___0__
2. Так, как делаются эти гифки, можно запилить любую скорость
> я делаю монтаж сортировок
> если тупо запустить в 9 окон будет галиматья
> сохраню результаты каждой сортировки как серию изображений
> выберу одинаковое количество изображений на каждую сортировку
> объединю их в gif
> ...
> PROFIT
так то на разных данных и на разных объемах самыми быстрыми будут разные сортировки
Щас в институте учусь, нам глава кафедры дискретной математики рассказывал, что у них студент на плюсах создал программу, которая решает матрицы огромных размеров невероятно быстро.
Само забавное,что код был просто огромным, зато его эффективность была просто невероятной.
Этот студент кстати занял первое место в какой-то (мировой (или не мировой блять, но помню, что там челики из европы и китая тоже были)олимпиаде,уже не помню) среди студентов первых курсов.
Так что действительно не факт, код был довольно сложным у него
про оптимизацию доступа к данным на CD\DVD с базой SQLite я вообще молчу, пое...ся пришлось знатно, но таковы были требования заказчика
Вот только размер пикселя крупноват для этой картинки