Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
Vladdik
1 / 0 / 0
Регистрация: 21.03.2015
Сообщений: 40
1

Алгоритмы сортировки больших объёмов данных

21.03.2015, 17:17. Просмотров 2078. Ответов 7
Метки нет (Все метки)

Здравствуйте, столкнулся со следующей проблемой:
Имею бинарный файл, в котором хранится матрица из чисел размером примерно 10000 на 40. Стоит задача считать файл и упорядочить эти данные по параметрам одного из столбца.
Матрица содержит частично упорядоченные данные.
Использую метод пузырька, но суммарное время сортировки достигает 30-40с.
Существуют ли более быстрее решения?
P.S встроенный Qsort не подойдёт
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.03.2015, 17:17
Ответы с готовыми решениями:

Какой массив использовать для хранения больших объёмов информации?
В целях саморазвития пишу программу для поиска дубликатов файлов по названию. Алгоритм типа такого:...

Алгоритмы сортировки
Используя сортировку слиянием, «быструю» сортировку, пирамидальную сортировку и сортировку...

Изучение спроса: алгоритмы сортировки на C#
Предлагаю к вашему вниманию статический класс SortHelper, в котом реализованы различные виды...

Обработка больших объёмов данных
Есть выделенная виртуальная память ReadCount=6 000 000 000 Buffer = (U16 *)VirtualAlloc(NULL,...

Выбор БД для больших объёмов данных
Собственно, планируется запись порядка 100-200к строк новостных лент (включая текст новостей) в...

7
XRoy
864 / 714 / 304
Регистрация: 15.04.2013
Сообщений: 2,047
Записей в блоге: 5
21.03.2015, 17:37 2
Vladdik,
Если не подходит встроенная быстрая сортировка, то напишите свою.
Вот тут есть таблица со сравнением алгоритмов сортировки
0
tarasalk
1629 / 975 / 361
Регистрация: 13.06.2013
Сообщений: 3,367
21.03.2015, 17:39 3
Казалось бы куда тривиальней, но все равно спрашивают
алгоритмы сортировки
Также можете попробовать сортировать только один столбец, а потом уже ставить строчки сразу в нужные позиции.
0
Vladdik
1 / 0 / 0
Регистрация: 21.03.2015
Сообщений: 40
21.03.2015, 17:52  [ТС] 4
Так ведь пузырёк самый простой я написал, но он оказался не эффективен, вот и спрашиваю.
P.S. Я видел данные статьи, и их алгоритмическую сложность.
Но интересует мнение тех, кто сталкивался с данной задачей, да и вообще с сортировками в с#.
Потому что опять же алгоритмическая сложность может быть одинакова, но это не означает равенство времени.
0
21.03.2015, 17:52
XRoy
864 / 714 / 304
Регистрация: 15.04.2013
Сообщений: 2,047
Записей в блоге: 5
21.03.2015, 18:13 5
Vladdik,
Самый простой пузырек как раз и самый медленный

Цитата Сообщение от Vladdik Посмотреть сообщение
алгоритмическая сложность может быть одинакова, но это не означает равенство времени
Большая алгоритмическая сложность как раз и значит что задача будет дольше работать по времени

Добавлено через 32 секунды
Цитата Сообщение от Vladdik Посмотреть сообщение
размером примерно 10000 на 40
И это не такой уж и большой объем данных
0
Vladdik
1 / 0 / 0
Регистрация: 21.03.2015
Сообщений: 40
21.03.2015, 18:23  [ТС] 6
Ну так ведь я и спрашиваю, как лучше использовать, потому что кроме этих двух алгоритмов я ничего не использовал последнее время, да и задач таких не стояло..
0
XRoy
864 / 714 / 304
Регистрация: 15.04.2013
Сообщений: 2,047
Записей в блоге: 5
21.03.2015, 18:24 7
Vladdik,
Выбираете алгоритм с меньшей алгоритмической сложностью который вам подходит и реализовыаете его
0
Storm23
Эксперт .NETАвтор FAQ
9350 / 4561 / 1646
Регистрация: 11.01.2015
Сообщений: 5,763
Записей в блоге: 34
21.03.2015, 20:17 8
Цитата Сообщение от Vladdik Посмотреть сообщение
P.S встроенный Qsort не подойдёт
Почему?
0
21.03.2015, 20:17
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.03.2015, 20:17

Обновление больших объёмов данных(150к полей)
Доброго всем времени суток. Встала задача обновления больших объёмов данных - парсинг большого...

Алгоритмы сортировки массивов.Реализуйте алгоритмы сортировок данных массивов
Задания к лабораторной работе. Выполните приведенные ниже задания. 1. Даны два целочисленных...

Как быстро обрабатывать текст из файлов больших объёмов
Здравствуйте, искал как быстро читать текст из файлов больших объёмов, наткнулся на функцию: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.