Skip to content

giottorin/external_sorting

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

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

No packages published

Languages