Программирование на BASIC / Visual Basic / Visual Basic 6.0 / БВГ / Теория и примеры по сортировкам на VB / Таблица
.doc
Алгоритм |
Преимущества |
Недостатки |
|||
Сортировка вставкой |
Очень прост |
Очень медленно работает с большими списками |
|||
|
Быстро сортирует небольшие списки |
|
|||
|
|
|
|||
Сортировка вставкой |
Прост |
Медленно работает с большими списками |
|||
на основе связного списка |
Быстро сортирует небольшие списки |
|
|||
|
Перемещает не данные, а указатели |
|
|||
|
|
|
|||
Сортировка выбором |
Очень прост |
Медленно работает с большими списками |
|||
|
Быстро сортирует небольшие списки |
|
|||
|
|
|
|||
Пузырьковая сортировка |
Быстро работает для почти |
Медленно работает во всех остальных случаях |
|||
|
отсортированных списков |
|
|||
|
|
|
|||
Быстрая сортировка |
Быстро сортирует большие списки |
Приводит к проблемам при большом количестве |
|||
|
|
одинаковых значений |
|||
|
|
|
|||
Сортировка слиянием |
Быстро сортирует большие списки |
Требует пространства под временные значения |
|||
|
|
Работает медленнее, чем быстрая сортировка |
|||
|
|
|
|||
Пирамидальная сортировка |
Быстро сортирует большие списки |
Работает медленнее, чем сортировка слиянием |
|||
|
Не требует пространства |
|
|||
|
для временных значений |
|
|||
|
|
|
|||
Сортировка подсчетом |
Очень быстро работает если разброс |
Работает медленно, если диапазон |
|||
|
входных значений невелик |
значений > log(N) |
|||
|
|
Требует дополнительной памяти |
|||
|
|
Работает только с данными целого типа |
|||
|
|
|
|||
Блочная сортировка |
Очень быстро работает, если данные |
Медленнее, чем сортировка подсчетом |
|||
|
распределены равномерно |
|
|||
|
Работает с данными, диапазон |
|
|||
|
значений которых велик |
|
|||
|
Работает с данными любого типа |
|
|||
Метод |
Преимущества |
Недостатки |
|
||
Полный перебор |
Простота |
Низкая скорость для больших списков |
|
||
|
Высокая скорость для небольших списков |
|
|
||
|
|
|
|
||
Двоичный поиск |
Высокая скорость для больших списков |
|
|
||
|
Не зависит от распределения данных |
|
|
||
|
Легко работает со строковыми данными |
|
|
||
|
|
|
|
||
Интерполяционный |
Очень высокая скорость для больших списков |
Очень сложен |
|
||
|
|
Данные должны быть распределены равномерно |
|
||
|
|
Сложно работать со строковыми данными |
|