árvores binárias (BTS) são estruturas de dados usadas por programadores de computador cujo software deve representar médias e grandes conjuntos de dados em , de forma estruturada organizado. A BT consiste de um nó pai com um máximo de dois nós filhos opcionais : a criança à esquerda e uma criança direita. Estruturas de dados para aplicações específicas , tais como árvores de busca, pilhas e árvores de expressão são simplesmente coleções de BTs individuais ligados entre si para formar um conjunto de dados coletivo. Existem três métodos distintos para atravessar BTs : pré-venda de passagem , inorder travessia e pós-ordem transversal. Preorder Traversal
Preorder visitas atravessamento de nós da árvore nesta seqüência : pais, filhos esquerdo, direito da criança . Algumas aplicações de pré-venda de passagem são a avaliação de expressões em notação de prefixo eo processamento de árvores de sintaxe abstratas por compiladores . O pseudocódigo a seguir demonstra o procedimento exato para um percurso predeterminado :
---------------------- PROCEDIMENTO Preorder ( Binary_Tree_Node T) BEGINProcessNode (T) Se ( filho esquerdo de T não é NULL) BEGINPreOrder ( filho esquerdo do T) endif ( filho direito de T não é NULL) BEGINPreOrder ( filho direito do T) endend
Inorder Traversal
nós Inorder visitas passagem de árvore nesta seqüência : criança esquerdo , pais, filhos direita. Árvores binárias de pesquisa (um tipo especial de BT ) usam para agradar travessia para imprimir todos os seus dados em ordem alfanumérica . O pseudocódigo a seguir demonstra o procedimento exato para uma travessia para agradar :
---------------------- PROCEDIMENTO para agradar ( Binary_Tree_Node T) BEGINIf (à esquerda do T criança não é NULL) BEGINInOrder ( filho esquerdo do T) ENDProcessNode (T) Se (a criança direita de T não é NULL) BEGINInOrder ( filho direito do T) endend ------------------- nós visitas
postorder Traversal
postorder passagem de árvore nesta seqüência - : criança esquerdo , direito da criança , pai . Uma aplicação comum para o uso de pós-ordem transversal é a avaliação de expressões em notação postfix . O pseudocódigo a seguir demonstra o procedimento exato para um percurso pós-ordem :
---------------------- PROCEDIMENTO pós-ordem ( Binary_Tree_Node T) BEGINIf (à esquerda do T criança não é NULL) BEGINPostOrder ( filho esquerdo do T) endif ( filho direito de T não é NULL) BEGINPostOrder ( filho direito do T) ENDProcessNode (T) END ------------------- -