Мне бы хотелось узнать о быстром алгоритме, позволяющем определить, является ли ориентированный или ненаправленный граф деревом.
Этот пост, кажется, имеет дело с этим, но это не очень ясно; по этой ссылке, если граф ацикличен, то это дерево. Но если вы рассмотрите ориентированные и ненаправленные графы ниже: по моему мнению, только графы 1 и 4 являются деревьями. Я полагаю, 3 не является ни циклическим, ни деревом.
Что необходимо проверить, чтобы увидеть, является ли направленный или ненаправленный граф деревом или нет, эффективным способом? И на шаг впереди: если дерево существует, то является ли оно бинарным или нет?