Я только что прочитал об алгоритме поиска в ширину в книге Introduction to Algorithms и я вручную смоделировал алгоритм на бумаге. Что я хотел бы сделать сейчас, так это реализовать это в коде для дополнительной практики.
Я думал о реализации всех структур данных с нуля (список смежности, "цвет" , «расстояние» и «родительские» массивы), но потом я вспомнил, что в настоящее время существуют библиотеки графов, такие как библиотека графов Boost и некоторые другие API графов а> в Питоне. Я также пытался найти некоторые проблемы, связанные с BFS, на UVA и Sphere Judge Online, но я не могу сказать, какие проблемы потребуют решения BFS.
Мой вопрос заключается в том, что было бы самым безболезненным способом практиковать эти графовые алгоритмы (не ограничиваясь только BFS, но также пригодиться, когда я хочу реализовать DFS, Dijkstra , Floyd-Warshall и т. д.). Сайты с проблемами практики приветствуются.