Если в вашей таблице доступны только пути, вы можете использовать любую реализацию заданной структуры данных, например HashSet
или TreeSet
в Java. Просто добавьте все пути к набору, а затем используйте метод Set.contains
, чтобы проверить, является ли путь допустимым.
Это будет работать достаточно хорошо, если допустимые пути короткие или имеется небольшое число из них. Если существует большое количество путей, и они длинные, вы получите лучшую производительность с другими структурами данных.
Например, tr ie - это набор для последовательностей элементы, которые позволяют проверить, присутствует ли последовательность во времени, пропорциональном длине последовательности. Он традиционно использовался для строк, но вы можете легко использовать его для путей к графам. При таком использовании узлы в tr ie будут хранить узлы вашего графа, так что путь в tr ie соответствует действительному пути в вашем графе.