Skip to content

Leastick/dictionaries

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

СЛОВАРИ
Реализовать несколько способов организации словаря (массивы с линейным поиском, упорядоченные массивы с бинарным поиском,
деревья, сбалансированные деревья, хеш-таблицы) и сравнить их (время выполнения операций со словарем, объем
занимаемой памяти) между собой и со встроенным dict.

ДЛЯ ЗАПУСКА НУЖНО:
1. Python 3.6 (работоспособность на чуть более ранних версиях вероятно возможна, но не проверялась)
2. модуль matplotlib (используется для построения графиков)


ЧТО ЕСТЬ:
1) Обычный словарь на листе
2) Словарь на отсортированном листе
3) Хэш-таблица
4) Небалансируещеся бинарное дерево поиска
5) Декартово дерево (самобалансирующееся дерево, рандомизированное)

6) Тесты, проверяющие корректность работы описанных выше структуры данных
7) Генератор тестов, который умеет генерировать тесты на лучший/худший/рандомный случай, различных размеров
(папка test_generator)
8) Набор тестирующих классов для каждого вида словаря (папка testers), они используются для тестирования и настройки
тестирования (указываются максимальное количество операций, чтобы ограничить время работы медленных структур данных
каким-то разумным числом и точки в которых производятся замеры)
9) Графики в папке graphs и результаты тестирования в папке results
10) data_handler.py - скрипт, который собирает данные о тестировании из папки results и на их основе строит
графики.

Тестирование запускается в main.py.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages