Un árbol de búsqueda binaria es una estructura de datos donde los registros de datos , llamados " nodos", tienen punteros a otros nodos , llamados " hijos". Esto le da a los nodos , cuando grafican a cabo , una forma similar a un árbol . Los nodos reciben su lugar en el árbol sobre la base de si podrían evaluar como mayor que o menos que otros nodos . Deja a los niños siempre son menores que sus padres , los niños adecuados siempre los árboles de búsqueda more.Binary son importantes en la informática , ya que pueden ser a la vez ordenados y registraron , en promedio, en O ( n log n) . Cosas que necesitará
Compiler
existente árbol de búsqueda binaria
Mostrar más instrucciones
1
Crear una función de almacenamiento que recibe el nodo raíz. Cada vez que usted se ocupa de los árboles en la informática , el algoritmo más efectivo casi siempre va a ser recursivo y almacenar el árbol en un archivo no será la excepción . Aquí está un esqueleto muestra de la función de almacenamiento recursiva (en Java ) . Store public void (Nodo n ) throws IOException { ...}
2 Escriba
datos en el nodo raíz al archivo. Esto utilizará " recorrido en preorden " ( Root, Child Left , Niño derecha) para ir a través de todos los nodos en el árbol , ya que este método de recorrido hará que sea más fácil de reconstruir el árbol de la orden de los nodos en el archivo . La función recursiva ahora se ve así : tienda public void (Nodo n ) throws IOException { write ( archivo de salvar , n) ;} Store debería llamarse con el Niño Izquierda: tienda public void (Nodo n ) throws IOException { write ( archivo de salvar , n ), tienda ( n.left ) ;} Store debería llamarse con el Niño Derecha: tienda public void (Nodo n ) throws IOException { write ( archivo de salvar , n) , tienda ( n.left ), tienda ( n.right ) ; }
3
compruebe que la función pasa a la lista de verificación recursiva. Para evitar errores de desbordamiento de pila, compruebe siempre que una función recursiva cumple las siguientes condiciones : ¿La función tiene un estado de salida? Sí , siempre y cuando el árbol no es de profundidad infinita , con el tiempo llegará a un nodo que no tiene ni un hijo de la izquierda o la derecha y la exit.Does cada iteración de la función de acercamiento a la situación de salida? Sí , suponiendo que el árbol no es circular y ningún nodo tiene uno de sus antepasados en función child.The pasa a la lista de verificación .
4
Reconstruir desde el archivo . Cuando llega el momento de cargar el árbol desde el archivo , simplemente inserte cada nodo en el árbol , ya que se carga desde el archivo utilizando el algoritmo de inserción estándar. Esto debe comenzar en la raíz y trabajar su camino hacia abajo con recorrido en preorden , colocar el nuevo nodo en el primer espacio vacío en el que cabe. Esto se debe reconstruir el árbol exactamente como fue compuesta originalmente en O ( n log n ) en promedio.