На всякий случай, DFS гораздо больше подходит для этой задачи, особенно в ориентированных графах. Если вы уже знали это, игнорируйте это.
Что касается псевдокода, то в неориентированном графе это традиционная BFS, которая прерывает и сообщает о найденном цикле, когда достигает узла, ранее помеченного как посещенный. Вы можете найти псевдокод для BFS здесь .
В ориентированном графе это становится сложнее, поскольку вы должны помнить, каким путем вы шли, когда достигли узла, а недостаток пространственной сложности по сравнению с DFS становится еще хуже.
Edit: о, я говорил о тестировании графика для циклов, а не на самом деле найти цикл. Поиск циклов в DFS близок к тривиальному, в то время как поиск циклов в BFS намного сложнее как с точки зрения реальной алгоритмической сложности, так и сложности кода. Вот почему вы не можете найти псевдокод.