Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.10.2012, 15:52   #1
sercher
 
Регистрация: 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.
sercher вне форума Ответить с цитированием
Старый 02.10.2012, 22:34   #2
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Плюсы любого алгоритма с меньшей асимптотической сложностью проявляются при увеличении объема обрабатываемых данных.
Пусть у нас есть два алгоритма:
1. с количеством операций 1000*n.
2. с количеством операций 2*n^2.
где n - количество обрабатываемых элементов.
Очевидно, что при n=10 первый будет проигрывать по скорости, а при n=1000 - выигрывать.
s-andriano вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
одномерные массивы произвольной длины Александра Раш Паскаль, 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