#7 16.06.07 19:34
Re: Информатика
2. Написать функцию со следующим прототипом: int SortDataset (char *filename). Функция читает содержимое файла в массив, сортирует массив по возрастанию его элементов, записывает упорядоченный массив в новый файл (один элемент - одна строка). Алгоритм сортировки: поочередная поразрядная сортировка. Тип данных в файле: см. условие задачи 1. Имя нового файла формируется путем добавления к имени предыдущего файла нового расширения (например, filename.txt -> filename.txt.sort). Функция возвращает целое число, равное общему количеству сравнений элементов массива в процессе сортировки.
3. Написать программу, которая оценивает трудоемкость алгоритма сортировки из задачи 2 для файла данных из задачи 1. Экспериментальная трудоемкость (ТЭ) оценивается как количество сравнений элементов массива в процессе сортировки и далее сравнивается с теоретическими оценками Т1 = num2 и Т2 = num • log2 num. Повторите оценки для следующих значений num: 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096. После каждого подобного оценивания записывайте результат в текстовый файл до получения в итоге таблицы вида:
num ТЭ Т1 Т2 ТЭ / Т1 ТЭ / Т2
8 … … … … …
16 … … … … …
… … … … … …
По результатам экспериментов сделайте вывод о том, к какой модели расчета трудоемкости оказалась ближе рассмотренная задача сортировки.
Offline

