A estrutura de dados é esquecer depois de aprender e aprender novamente depois de esquecer, e registrar a implementação da árvore binária mais simples e sua travessia pré-meio e pós-ordem. Código de oferta, bem-vindo para enriquecer.
class MyTreeNode{ dados de caracteres privados; private MyTreeNode leftNode; private MyTreeNode rightNode; public MyTreeNode(char data, MyTreeNode leftNode, MyTreeNode rightNode) { this.data = data; this.leftNode = leftNode; this.rightNode = rightNode; }
public char getData() { dados de retorno; }
public void setData(char data) { this.data = data; }
public MyTreeNode getLeftNode() { return leftNode; }
public void setLeftNode(MyTreeNode leftNode) { this.leftNode = leftNode; }
public MyTreeNode getRightNode() { return rightNode; }
public void setRightNode(MyTreeNode rightNode) { this.rightNode = rightNode; } } public class Árvore Binária {
public void imprimir(nó MyTreeNode){ System.out.print(node.getData()); } /** * * @Title: pre * @Description: 前序遍历 根 左 右 * @param: @param root * @return: void * @throws */ public void pre(MyTreeNode root){ print(root); if(root.getLeftNode()!=null){ pre(root.getLeftNode()); } if(root.getRightNode()!=null){ pre(root.getRightNode()); } } /** * * @Title: in
* @Description: Middle Order Left Root Right
* @param: @param root
* @return: void
* @throws
*/
public void in(MyTreeNode root){ if(root.getLeftNode()!=null){ in(root . getLeftNode()); } print(root); if(root.getRightNode()!=null){ in(root.getRightNode()); } } /** * * @Title: post * @Description: ordem do meio à esquerda Right Root * @param: @param root * @return: void * @throws */ public void post(MyTreeNode root){
if(root.getLeftNode()!=null){ post(root.getLeftNode()); } if(root.getRightNode()!=null){ post(root.getRightNode()); } print(raiz); } public static void main(String[] args) { MyTreeNode E = new MyTreeNode('E',null,null); MyTreeNode F = new MyTreeNode('F',null,null); MyTreeNode G = new MyTreeNode('G',nulo,nulo); MyTreeNode H = new MyTreeNode('H',nulo,nulo); MyTreeNode B = new MyTreeNode('B',E,F); MyTreeNode C = new MyTreeNode('C',G,H); MyTreeNode A = new MyTreeNode('A',B,C);
Árvore BinaryTree=new BinaryTree();
System.out.println("前序");
árvore.pre(A);
System.out.println();
System.out.println("中序");
árvore.em(A);
System.out.println();
System.out.println("后序");
árvore.post(A);
}