Skip to content

Mustang98/ThickHeap

Repository files navigation

ThickHeap

На данный момент реализована алгоритмическая часть проекта на С++.
Позже планируется добавить визуализацию алгоритма, используя JavaScript + HTML + CSS.

Описание файлов проекта:

Исходный код алгоритма находится в файле ThickHeap.cpp
Для тестирования правильности работы алгоритма в репозитории присутствуют 2 файла:
  • ThickHeapManualTestingApp.exe - Консольная утилита для ручного тестирования при помощи ввода с клавиатуры.
  • ThickHeapAutomaticTestingApp.exe - Консольная утилита для автоматического тестирования с помощью файлов (для больших входных данных).
В папке test находятся 3 файла, которые могут быть использованы для тестирования (они описаны ниже).

Формат входных и выходных данных и ограничения:

Формат и доступные команды для ручного тестирования подробно описаны в самой утилите.

Для автоматического тестирования в папке с утилитой необходимо разместить файл следующего формата:
В первой строке файла должно быть число N (0 <= N <= 1000000) - количество команд.
В следующих N строках должны находиться команды:
insert A - добавить число А в кучу. (А должно быть целым числом от -10^9 до 10^9 включительно).
getMin - вывести в выходной файл минимальный элемент, находящийся в куче. (Куча не должна быть пустой!)
deleteMin - вывести в выходной файл и удалить из кучи минимальный элемент. (Куча не должна быть пустой!)
size - вывести в выходной файл количество элементов в куче.
В случае корректных запросов во входном файле программа выведет необходимые данные в выходной файл. В противном случае в консоль выведется ошибка и номер строки входного файла, в котором она возникла.

В папке test находятся 3 файла с тестами для автоматического тестирования:
  • test1.txt - Добавление 333333 элементов в кучу с параллельным выводом её размера. После все элементы удаляются.
  • test2.txt - Чередование операций добавления, вывода размера и удаления элемента 300000 раз.
  • test3.txt - Добавление 100000 случайных элементов в кучу с последующим удалением минимальных. В результате добавленные элементы должны быть выведены в отсортированном порядке.

About

KhNURE advance project. Thick Heap data structure.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published