Практика
Разминка
- Создайте в своём репозитории
2022-polytech-%фамилия% директорию 11_hashing
- Cоздайте пустой
README.md файл
- В директории
11_hashing/intro создайте cmake-проект
- Придумайте и реализуйте hash-функцию для строк
- Приведите тесты для всех методов с использованием библиотеки
doctest
- Отправьте решение на GitHub
Задание
- Создайте в своём репозитории
2022-polytech-%фамилия% директорию 11_hashing
- Cоздайте пустой
README.md файл
- В директории
11_hashing/dictionary создайте cmake-проект
- Реализуйте класс hash-таблицы, используя hash-функцию из разминки (готовыми ассоциативными контейнерами пользоваться нельзя)
- Добавьте в класс методы
insert для вставки ключей и значений, get для извлечения значений по ключу и size для получения числа записанных ключей в таблице
- Напищите тесты с помощью doctest, демонстрируеющие работу hash-таблицы
- Отправьте решение на GitHub
Домашнее задание
- Создайте в своём репозитории
2022-polytech-%фамилия% директорию 11_hashing
- Cоздайте пустой
README.md файл
- В директории
11_hashing/substr создайте cmake-проект
- Скопируйте проект из разминки 8 задания
- Добавьте к классу строки метод
search_substr, который ищет переданную параметром подстроку в страке класса, метод возвращет индекс начала подстроки
- Если вы не использовали в решении хеширование, подумайте, как можно улучшить алгоритм с помощью хеширования
- Напишите тесты для метода
search_substr с помощью doctest
- Отправьте решение на GitHub
Комментарии
- В этом файле есть опечатки, вы можете их исправить через pull request.
- Всю работу удобно вести в отдельной ветке и затем влить готовый результат в основную ветку.