“Conocimientos Programación>Lenguajes De Programación

Cómo almacenar un árbol binario de búsqueda en un archivo

2011/5/1
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.

Lenguajes De Programación
¿Qué es una aplicación GUI
Cómo crear una base de CFC
CFG Tipo de archivo
¿Qué es el SEI CMMI
Propiedades de algoritmos
Cómo insertar variables en una estructura de ColdFusion
Cómo diseñar plantillas de menú Joomla
Cómo compilar un archivo de clases
Conocimientos Informáticos © http://www.ordenador.online