Граф — это математическая структура, которая содержит набор вершин или «узлов» и набор ребер, соединяющих пары вершин. Графы могут быть неориентированными или направленными, ребра могут быть направлены от одной вершины к другой.
C — это язык программирования общего назначения, используемый для системного программирования (ОС и встроенного), библиотек, игр и кроссплатформенности.
Хеш-таблица в программировании — это коллекция, которая использует хеш-функцию для сопоставления идентифицирующих значений (ключей) с их связанными значениями.
Динамическое программирование — это алгоритмический метод эффективного решения проблем с рекурсивной структурой, содержащей множество перекрывающихся подзадач.