Практика
Разминка
- Создайте в своём репозитории
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.
- Всю работу удобно вести в отдельной ветке и затем влить готовый результат в основную ветку.