Preorden transversal de un Btree
Pregunta
Estoy tratando de encontrar la manera de hacer un recorrido preorden de un Btree. Sé que generalmente preorden recorrido funciona así:
preorder(node)
{
print value in node
preorder(left child)
preorder(right child)
}
Lo que es confuso para mí es cómo hacer este trabajo con un Btree, ya que en cada nodo hay múltiples valores y múltiples punteros niño. Al imprimir los valores, hacer todos los valores en el nodo se imprimen antes de descender al hijo izquierdo?
Cada nodo es similar al siguiente:
child1 valor1 valor2 child2 Niño3 valor3 Niño4
Además, ¿por qué alguien quiere hacer un recorrido preorden de un Btree, ya que un recorrido en orden es lo que va a mostrar los valores en orden ascendente?
Solución
Imprimir todos los valores en el nodo actual en un orden definido (que depende de usted, de verdad, a pesar de izquierda a derecha es un defecto sensible) y luego visitar cada nodo hijo (de nuevo, el orden depende de usted) .