![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 10.04.2011
Сообщений: 3
|
![]()
Здравствуйте.
Есть массив блоков данных с рандомным размером,необходимо отсортировать эти данные в порядке возрастания длин. Перемещаться по блоку выйдет только меньшего к большему. Делаю: При проходе запомнив в двух переменных позиции с макс и мин значениями, меняем их с крайней левой и правой не отсортированной позицией, следующий проход начинается с исключением этих позиций: Проход 1: начинаем с 0 до 8 позиции 4 3 8 4 5 1 7 6 макс 8, мин 1 получим 8 3 4 4 5 6 7 1 Проход 2: начинаем с 2 до 7 позиции 8 3 4 4 5 6 7 1 макс 7, мин 3 получим 8 7 4 4 5 6 3 1 и тд. Нужен более быстрый вариант. Прочитал про qsort но понять не могу в чем заключаться ее преимущества? Выходит что чтений в ней больше: если взять верхней пример то первым способом получим 8+6+4+2=20 вторым 8+4+4+2+2+2+2=24 обращений к памяти. Кол-ве перестановок (всего) первым способом 4 вторым 5, так в чем его плюсы? Последний раз редактировалось sercher; 02.10.2012 в 15:54. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
![]()
Плюсы любого алгоритма с меньшей асимптотической сложностью проявляются при увеличении объема обрабатываемых данных.
Пусть у нас есть два алгоритма: 1. с количеством операций 1000*n. 2. с количеством операций 2*n^2. где n - количество обрабатываемых элементов. Очевидно, что при n=10 первый будет проигрывать по скорости, а при n=1000 - выигрывать. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
одномерные массивы произвольной длины | Александра Раш | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 15.03.2012 14:08 |
нетипизированные файлы паскаль - Во внешнем файле создать очередь произвольной длины | ololoshqa | Помощь студентам | 4 | 23.05.2010 19:44 |
умножение 2-х чисел произвольной длины с плавающей точкой | Ferza | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 2 | 24.06.2009 19:24 |
сложение чисел произвольной длины | Ferza | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 1 | 24.06.2009 11:16 |
Сортировка двумерного массива произвольной длины. Visual Basic | Pekc | Помощь студентам | 0 | 25.11.2007 19:30 |