Автор работы: Пользователь скрыл имя, 05 Декабря 2010 в 19:40, Не определен
Лабораторная работа
basearraycopy – копия сортируемого массива.
Auxarray – вспомогательный массив, состоящий из 16000*factor элементов типа LongInt, factor = 1.4
maxnumber – вспомогательная константа, равная 70000
factor – константа, равная 1.4
= размер(auxarray)/размер(
Таблица и график результатов исследования
Таблица
Результатов исследования зависимости времени (в мс) сортировки массива от его размеров и способа заполнения.
|
| |||
|
Упорядоченные | Обратный порядок |
|
|
250 | 0.016/0.042 | 0.040/0.035 | 0.043/0.074 | 0.064/0.039 |
500 | 0.033/0.067 | 0.109/0.067 | 0.086/0.202 | 0.148/0.074 |
1000 | 0.074/0.139 | 0.323/0.132 | 0.305/0.620 | 0.393/0.146 |
2000 | 0.165/0.262 | 0.552/0.262 | 0.448/2.132 | 0.895/0.309 |
4000 | 0.364/0.526 | 1.224/0.513 | 0.975/8.135 | 2.079/0.598 |
8000 | 0.802/1.015 | 2.716/1.010 | 2.244/29.419 | 4.607/1.207 |
16000 | 1.759/1.914 | 4.327/2.005 | 5.111/119.213 | 10.991/2.416 |
N | ~N / N | ~N / N | ~N / N2 | ~N / N |
Зависимости времени сортировки от размера сортируемой последовательности, заполненной случайным образом.
Начало
Задание размера массива и типа
Заполнение массива
Сохранение копии массива
Обнуление таймера
Сортировка методом Шелла
Получение времени сортировки
Проверка,
правильно ли отсортирован
массив?
Да
Восстановление исходного
массива из копии
Обнуление таймера
Сортировка массивом
Получение времени сортировки
Проверка, Нет
правильно ли отсортирован
массив?
Да
Проверка,
Да есть ли неисследованные
комбинации размера массива и
типа его заполнения?
Нет
Вывод результатов
6. Анализ результатов эксперимента
В результате
исследования я установил, что метод
Шелла является более эффективным
по сравнению с сортировкой
7. Выводы
Проанализировав результаты эксперимента, я сделал вывод, что метод Шелла является более простым и хорошо справляется с упорядоченными и вырожденными данными, причем в случае с вырожденными данными, чем больше количество сортируемых элементов, тем эффективнее этот метод по сравнению с сортировкой массивом. Результаты сортировки вырожденных данных отчетливо показывают крайнюю неэффективность алгоритма сортировки массивом. С набором повторяющихся данных он справляется значительно медленнее, чем метод Шелла. Но зато сортировка массивом замечательно справляется с упорядочиванием случайных данных, а ведь в основном числа, с которыми приходится иметь дело в реальной жизни расположены случайным образом, поэтому на практике чаще используется именно этот метод. Но наряду с этим метод сортировки массивом является более сложным методом относительно сортировки методом Шелла, требует больше памяти и не всегда будет наилучшим выбором.
Информация о работе Исследование алгоритмов сортировки в среде OC LINUX