Используя самобалансирующиеся структуры данных (AVL, RB Trees, B, B+, ..) реализовать базу студентов со следующими возможностями:
Программа должна предоставлять консольный интерфейс для поиса (редактирование - не требуется, по желанию) данных о студентах
Информация о студенте должна содержать:
ФИО
№ пропуска (уникальный среди всех записей)
Дата рождения
Комната/общежитие где проживает
На каком курсе какого факультета какого ВУЗа обучается
Поиск студента осуществляется по полям:
по № пропуска -> выдает карточку одного студента,
по ФИО -> выдает список студентов (т.к. могут быть однофамильцы и пр)
Дополнительно, при старте программы должен запускаться генератор данных, наполняющий необходимые структуры данными (в качестве базы для генератора имен можно взять, например https://github.com/smashew/NameDatabases/tree/master/NamesDatabases). Генератор должен принимать на вход количество записей, кот нужно сгенерировать. По умолчанию - 100 000
Подсказка:
Т.к. поиск должен осуществляться по 2 атрибутам - то и вспомогательных структур (например 2 отдельных AVL дерева) должно быть 2 - первая обеспечивает поиск по номеру пропуска, вторая - по ФИО. Каждая из которых содержит указатели на объекты студентов в памяти
Гарантия на работу | 1 год |
Средний балл | 4.56 |
Стоимость | Назначаете сами |
Эксперт | Выбираете сами |
Уникальность работы | от 70% |