dado um gráfico para detectar se é uma árvore ou não em gráficos direcionados e não direcionados?

Gostaria de saber de um algoritmo rápido para determinar se um determinado gráfico é uma árvore ou não.este post parece lidar com isso, mas não muito claro. De acordo com isso, se o gráfico é acíclico, então é uma árvore. Se você considerar os exemplos do gráfico direcionado e não direcionado mostrado, na minha opinião, apenas 1 e 4 são árvore, mas 3 não é nem cíclico nem uma árvore, suponho.

então minha pergunta é: o que precisa ser verificado para ver se um gráfico é uma árvore ou não para o gráfico direcionado e não direcionado de maneira eficiente?

dando um passo à frente para ver se existe uma árvore, então é uma árvore binária ou não?

questionAnswers(1)

yourAnswerToTheQuestion