-
Notifications
You must be signed in to change notification settings - Fork 0
giottorin/external_sorting
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Внешняя сортировка
Абросимова Арина КН-201
#проект позволяет выполнять внешнюю сортировку, в основном для файлов не входящих полностью в оперативную память
#требования для запуска
python версии 3.6 или выше
#реализованные требования
+вход - текстовый файл, имя заданное в параметрах
(для теста можно запустить файл create_test_file,который сгенирирует рандомный текстовый файл для сортировки)
+возможность обратной сортировки
+выбор колонки и символа разделителя
+мультисортировка
+стабильность
+ограничение на используемую память
+бенчмарки
+тесты
#принцип работы
программа делит исходный файл на куски, которые можно отсортировать методом внутренней сортировки,
а после отсортированные файлы объединяются в один слиянием.
#для запуска
1 поместить сортируемый файл в исходную папку
2 запуск файла first_version_of_sorting
3 ввести: обратая сортировка (Yes or No)
имя_файла
размер который не должна превышать одна часть(в байтах)
(4) в исходной папке создается файл sorted
PS на девять балов:
написать тесты(проверять в начальном и исходном файле кол-во элементов (done) и смотреть что каждый последующий больше/меньше предыдущего(done))
скорость работы (сравнение) при ограничении на память в 56 байт (рандомное число):
100 строк за 0.0046651363372802734 секунд
1000 строк за 0.007042884826660156 секунд
10000 строк за 0.03207206726074219 секунд
100000 строк за 0.27660226821899414 секунд
1000000 строк за 2.386776924133301 секунд
About
(python project second semester)
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published