Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.02;
Скачать: CL | DM;

Вниз

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

 
Novichek ©   (2002-11-19 14:05) [0]

Не подумайте что я ленивый, проосто нехотелось бы изобретать велосипед, а вопрос в следующем:
1) есть ли простой алгоритм по сортировке одно мерного цифрового массива по возрастанию, что бы он (алгоритм) не занимал много времени?
2) позволяют ли компоненты ListBox, StringGrid (и им подобные) сортировать содержимое, и если "Да" то как?


 
Calm ©   (2002-11-19 14:09) [1]

Сначала на второй вопрос:
TStringList.Sorted:=true;

Про алгоритмы сортировки.
Очень круты алгоритмы сортировки Шелла и Хора (или Хоора?)
Но их крутые скорости начинают сказываться только на больших размерностях.


 
Reindeer Moss Eater   (2002-11-19 14:11) [2]

TStringList.CustomSort


 
F1 ©   (2002-11-19 14:12) [3]

По-моему QuickSort в самый раз!


 
Calm ©   (2002-11-19 14:12) [4]

Если данные добавляются в уже отсортированный массив, то хорошее решение - сортировка вставками.
Алгоритм прост, а случае упорядоченного массива еще и быстр.
А вот сортировки Шела и Хора не так уж просты. Впрочем, просто посидеть немного придется.


 
han_malign ©   (2002-11-19 14:14) [5]

Насколько я помню, сортировки Шелла и Хора это модификации метода пузырька, хотя по моему я ошибаюсь(как минимум по отношению одного из них). Но если простой метод - то однозначно пузырьком.


 
Reindeer Moss Eater   (2002-11-19 14:15) [6]

TStringList.CustomSort



 
Romkin ©   (2002-11-19 14:20) [7]

($delphi)/demos/threads - там лежит демка сортировки, и есть процедура QuickSort, больше и не нужно. Если сортировка Шелла, если не ошибаюсь, O(n^1.5), то QuickSort в среднем O(n*Log(n))


 
Calm ©   (2002-11-19 14:21) [8]


> han_malign © (19.11.02 14:14)
> Насколько я помню, сортировки Шелла и Хора это модификации
> метода пузырька, хотя по моему я ошибаюсь(как минимум по
> отношению одного из них). Но если простой метод - то однозначно
> пузырьком.

Вы ошибаетесь. Впрочем, исторически методы может и произошли от пузырька, но в них другте сложности алгоритма (сложность алгоритма - зависимость от размерности. Шелл и Хор намного круче пузырька.

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


 
Novichek ©   (2002-11-19 14:50) [9]

1) где можно примеры Шелл, Хор и пузырька посмотреть?
2) TStringList.Sorted:=true; и все? сортировка будет происходить автоматически? а в какую сторону (по-возрастанию или убыванию)? в ListBox"e такого нет?



 
Vint ©   (2002-11-19 16:33) [10]

>Novichek © (19.11.02 14:50)
1) где можно примеры Шелл, Хор и пузырька посмотреть?

посмотри тут:
http://www.rsdn.ru/article/default.asp?alg/bintree/sort.xml#IDARJVLC

http://delphibase.endimus.com/?action=viewfunc&topic=mathsort&id=10088

и как тебе уже сказали .../demos/threads


 
DiJeT ©   (2002-11-20 02:12) [11]

Вообще самый простой это вроде вставками. Одним циклом смотришь какой - то i элемент а вторым ищешь в массиве элемент меньший или больший i-го в зависимости от порядка сортировки. Если нашёл то меняешь эти элементы местами и ВСЁ. На больших массивах работает медленно т.к. много раз приходиться просматривать. Самый быстрый это Хоара. есть ещё пирамидальная - тоже ничё, но алгоритм замутный


 
MBo ©   (2002-11-20 06:02) [12]

algolist.manual.ru



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

Текущий архив: 2002.12.02;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.012 c
1-4480
Сутковой Вадим
2002-11-20 15:41
2002.12.02
Папка в меню.


1-4436
Tano
2002-11-18 02:20
2002.12.02
Что такое Самоадресуемая запись?


3-4185
nikolo
2002-11-13 11:31
2002.12.02
Хранимые процедуры MS SQL (несколько RecordSet)


14-4578
Она
2002-11-09 08:56
2002.12.02
...


6-4560
Равиль
2002-09-27 01:20
2002.12.02
докачка файла после обрыва связи в локальной сети