Para fazer a " travessia " de uma árvore binária em Java significa fazer um processamento algorítmico dos nós em algum tipo de ordem. A passagem de " pré-venda " significa que o nó raiz é processado primeiro, e depois o resto de nós da árvore são processados de forma recursiva. A função de passagem simplesmente imprimir cada nó que visita para o console. Instruções
1
Crie uma classe de busca árvore binária simples que tem um construtor básico que inicializa o valor do nó . Também incluído deve ser um método de inserção para percorrer uma árvore e criar um novo nó no lugar correto . " " public class BinaryTree { BinaryTree esquerda ; BinaryTree direita; valor int; BinaryTree pública (int v) {value = v; } //Insira um valor para a árvore de inserção public void (int v) {if (v if ( left = = null ) deixou = new BinaryTree ( v); mais left.insert ( v); } else if ( v> value) {if (direita == null ) direita = new BinaryTree ( v); mais right.insert ( v) ,. }}} " "
2
Construir o nó raiz da árvore binária, atribuindo-lhe um valor que é próximo da média do dos objetos que você estará armazenando Isto irá assegurar a eficiência , uma vez que . sua árvore binária precisa ser bastante equilibrada Se você está armazenando uma distribuição de números de 1 a 100 , por exemplo, 50 é um bom valor para o nó raiz " " BinaryTree b = new BinaryTree (50 ), " . "
3
Insira os nós na árvore em uma ordem particular. a árvore binária não é auto -equilíbrio , de modo que a inserção de nós em uma ordem específica ajuda a manter o equilíbrio. Aqui os nós são lugar para fazer uma árvore curto e eficiente equilibrada " " b.insert ( 20 ) ,. b.insert ( 40 ) ; b.insert ( 10 ) ; b.insert ( 5 ) ; b.insert ( 45 ) ; b.insert ( 70); b.insert ( 60); b.insert (80 ); b.insert ( 55); b.insert (85 ), " "
4
fazer um percurso predeterminado , atravessando o o nó raiz em primeiro lugar, em seguida, a árvore de esquerda e , finalmente, a árvore direita. é fácil de fazer isso de forma recursiva com uma pequena árvore binária, uma vez que não excedem a pilha . Se a árvore binária é muito grande, a função de passagem devem ser implementadas iterativa .
5
Adicione um novo método , pré-venda , para a classe BinaryTree . Aqui o único método imprime o valor de cada nó que visita . " " preorder public void () { System.out.println (valor) ; if ( esquerda = null !) left.preorder (); if ( direita = null !) right.preorder ();} " "
6
Chame o novo método após as suas inserções . imprimir os nós em pré-venda " " b.preorder (); "