explicar:
A profundidade da árvore binária: um caminho para a árvore é formado do nó da raiz para o nó (incluindo o nó raiz e folha) que passa pelo nó da folha por sua vez. O comprimento do caminho mais longo é a profundidade da árvore.
Largura de uma árvore binária: cada camada de uma árvore binária possui um certo número de nós. O número de nós na camada com o maior número de nós é chamado de largura da árvore binária.
Ideia: implementação recursiva.
1. Cada nó pode ser considerado como um nó raiz
2. A profundidade do nó raiz (qualquer nó) é igual à sua profundidade de subárvore esquerda ou direita no máximo +1
3. Comece a percorrer o nó raiz. Se você atravessar o nó foliar, a profundidade é 0
// a profundidade da árvore binária Public Static Int Profund (nó root) {if (root == null) {return 0; } int dl = profundidade (root.leftchild); int dr = profundidade (root.rightChild); devolver dl> dr? dl+1: dr+1; }2. A largura da árvore binária
Ideia: adicione um contador durante a sequência de camadas Traversal para registrar o número de nós em cada camada
1. Quando cada camada está fora da fila, o número de nós na próxima camada é na verdade o tamanho () da fila.
2. No final de cada travessia da camada, compare a largura máxima com o número atual de nós e registre o valor máximo.
public static int width (root nó) {if (root == null) retorna 0; fileeue <sode> q = new LinkedList <Node> (); q.add (root); int width = 1; // largura máxima int len = 1; // o número atual de nós na camada enquanto (q.size ()> 0) {1; q.poll (); if (node.leftChild! = null) {q.add (node.leftchild);} if (node.rightChild! = null) {q.add (node.rightChild);}} len = q.size (); depois de cada uma das pontas loop da camada, o número do nodes do número de lenges); Largura: q.size ();} Retorno Largura;}Resumir
O exposto acima é tudo sobre a descrição da linguagem Java da profundidade e largura da árvore binária. Espero que seja útil para todos. Se houver alguma falha, deixe uma mensagem para apontá -la. Obrigado amigos pelo seu apoio para este site!