как вы могли бы описать алгоритм линейного времени, который принимает ориентированный граф в качестве входных данных и возвращает количество вершин, которые могут быть достигнуты из любой другой вершины.Я знаю, что алгоритм будет занимать линейное время, но почему.а также почему это должно быть (O (V2) в матрице смежности; O (E + V) в списке смежности).