Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2011.09.18;
Скачать: [xml.tar.bz2];

Вниз

про сортировку   Найти похожие ветки 

 
Тимофей Ю.   (2011-06-01 22:50) [0]

Доброго времени суток, формучане. Из excel файла импортирую числовые данные(порядка 30.000), по мере импортирования, эти данные нужно загнать в массив типа real, по возрастанию. Подскажите пожалуйста какой метод сортировки будет самым быстрым для данного типа чисел. Спасибо.


 
Тимофей Ю.   (2011-06-01 22:53) [1]

Еще хотел узнать как будет работать быстрее:
1. Брать значения из файла и сразу сортировать массив
2. Загнать все значения в массив, затем отсортировать его


 
Inovet ©   (2011-06-01 23:18) [2]

> [1] Тимофей Ю.   (01.06.11 22:53)
> 2. Загнать все значения в массив, затем отсортировать его

быстрой сортировкой


 
Тимофей Ю.   (2011-06-01 23:46) [3]

QuickSort, спасибо!


 
Sha ©   (2011-06-01 23:55) [4]

> быстрой сортировкой

чуть быстрее будет HybridSortSha_AII отсюда
http://guildalfa.ru/alsha/node/10

Возможно, ты захочешь вызовы Compare
заменить сравнением элементов массива.


 
sniknik ©   (2011-06-02 01:17) [5]

что за мания у людей "узнавать, что быстрее"? при том, что сопутствующие "неважные типа" действия на порядки прямо таки "тяжелее".

ну вот какая разница 100 мсек будет сортироваться массив или 1 мсек? при том что "доставание" из файла будет занимать например 10 сек... + перекладывание, туда сюда/отображение кривое и т.д. еще 30 сек.
ну вот нафига это крохоборство/"экономия на спичках" на фоне общей разрухи.

скажешь не так? ну так покажи нам свой "оптимальнейший" способ "импортирования числовых данные из excel файла в массив".


 
Тимофей Ю.   (2011-06-02 02:13) [6]

Спасибо всем за ответы.
sniknik, я не гонюсь за скоростью в 1 мсек. С сортировкой больше 500 целых чисел не работал, не было нужды. Пользовался сортировкой методом замены. Единственное что наверно поспешил задавать вопрос на форуме, не проверив простейшей метод сортировки на данном массиве.
Импорт данных из excel файла в массив производится за какие то 3-4 секунды, т.к. обращаюсь к файлу напрямую, не используя ole. При использовании OLE - 2 мин.


 
Anatoly Podgoretsky ©   (2011-06-02 07:30) [7]

> Тимофей Ю.  (02.06.2011 02:13:06)  [6]

500 целых чисел и пузырек со свистом отсортирует и охнуть не успеешь. Пока
не будет 500 000 можно и не заморачиваться.


 
Anatoly Podgoretsky ©   (2011-06-02 07:32) [8]

> Тимофей Ю.  (02.06.2011 02:13:06)  [6]

Что же такого там наворатил, что 2 минуты, у меня крупные отчеты делаются за
3 секунды, из которых на 2.5 секунды приходятся на запуск Экселя.


 
sniknik ©   (2011-06-02 08:03) [9]

> производится за какие то 3-4 секунды
вот про то и говорил... сделал для примера выборку из excel (jet), даже не отбирая числа, все поля (15 из которых 2 строки по 100 символов), выборка 5 000 записей - 0.064 сек (в сумме, по размеру, это больше чем ряд из 30 000 чисел)
т.е. 3 сек это далеко не фонтан, а озаботился ты почему то действием время которого, при любом методе, в этих секундах "потеряется как стакан воды в море".


 
sniknik ©   (2011-06-02 08:09) [10]

> даже не отбирая числа
если выбрать 1 числовое поле, или дату то у меня замер по времени "работать отказывается" показывает 0 на таком количестве.
не писать же специальный тест с замером по "тикам" или данные "добивать"... "под тебя".
проверяю на том, что есть.


 
Inovet ©   (2011-06-02 10:22) [11]

> [9] sniknik ©   (02.06.11 08:03)
> а озаботился ты почему то действием время которого, при любом методе, в этих секундах "потеряется как стакан воды в море".

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



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2011.09.18;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.002 c
15-1306873798
Юрий
2011-06-01 00:29
2011.09.18
С днем рождения ! 1 июня 2011 среда


15-1306320156
clickmaker
2011-05-25 14:42
2011.09.18
Как в ICQ 7.5 отключить открытие по Ctrl+Shift+I


2-1307097736
unknown2
2011-06-03 14:42
2011.09.18
бинаризация изображения


2-1306821439
OW
2011-05-31 09:57
2011.09.18
Покрасить итоги в pivot Excel


2-1307003087
DagOT-R
2011-06-02 12:24
2011.09.18
Ошибки переменных





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский