Árboles binarios (BTS ) son estructuras de datos utilizadas por los programadores informáticos cuyo software debe representar a medio y grandes conjuntos de datos de una manera organizada y estructurada. A BT consiste en un nodo principal , con un máximo de dos nodos secundarios opcionales : un hijo izquierdo y un hijo derecho . Estructuras de datos específicas de la aplicación , tales como árboles de búsqueda , montones y árboles de expresión son simplemente colecciones de BTs individuales unidos entre sí para formar un conjunto de datos colectiva . Existen tres métodos distintos para atravesar BT : recorrido preorden , recorrido en orden y recorrido postorden . Recorrido preorden
recorrido preorden visita nodos del árbol en esta secuencia: padre , hijo izquierdo , hijo derecho . Algunas aplicaciones de recorrido preorden son la evaluación de expresiones en notación de prefijo y el tratamiento de los árboles de sintaxis abstracta de los compiladores . El siguiente pseudocódigo demuestra el procedimiento exacto para un recorrido preorden :
---------------------- preorden PROCEDIMIENTO ( Binary_Tree_Node T) BEGINProcessNode (T ) Si ( hijo izquierdo de T no es NULL) BEGINPreOrder ( hijo izquierdo del T) ENDIF ( hijo derecho de T no es NULL) BEGINPreOrder ( hijo derecho de T) ENDEND
recorrido en orden
finde recorrido visita los nodos del árbol en esta secuencia: hijo izquierdo , padre, hijo derecho . Árboles de búsqueda binarios ( un tipo especial de BT ) utilizan recorrido en orden para imprimir todos sus datos en orden alfanumérico. El siguiente pseudocódigo demuestra el procedimiento exacto para un recorrido en orden :
---------------------- finde PROCEDIMIENTO ( Binary_Tree_Node T) BEGINIf (T de la izquierda niño no es NULL) BEGINInOrder ( hijo izquierdo del T) ENDProcessNode (T ) Si BEGINInOrder ( hijo derecho de T) ENDEND ( hijo derecho de T no es NULL) ------------------- -
recorrido postorden
recorrido postorden visita nodos del árbol en esta secuencia: hijo izquierdo , derecho del niño , los padres. Una aplicación popular para el uso de recorrido postorden es la evaluación de las expresiones en notación de sufijo. El siguiente pseudocódigo demuestra el procedimiento exacto para un recorrido postorden :
---------------------- postorden PROCEDIMIENTO ( Binary_Tree_Node T) BEGINIf (T de la izquierda niño no es NULL) BEGINPostOrder ( hijo izquierdo del T) ENDIF ( hijo derecho de T no es NULL) BEGINPostOrder ( hijo derecho de T) ENDProcessNode (T ) END ------------------- - Opiniones de viajeros