FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Problemas con Arboles.
Hola:
Estoy intentando resolver unos problemas de arboles. 1- Función para recorrer un arbol binario por niveles. 2- Función que devuelva la profundidad de un arbol. 3-Function que devuelva los nodos hoja.
4 - Procedimiento que copie un AB
5 - Procedimiento que imprima los nodos del hoja de un nodo binario por niveles, mostrando un rotulo que indique el nivel que se imprimy haciendo un salto de linea cada vez que se cambie de nivel. 6 - Escribir un procedimiento en pascal, que dado un árbol binario de busqueda de enteros, cree una lista enlazada con los nodos del árbol ordenados descendentemente según el valor de enteros almacenados en los nodos. Si me podeis indicar como tengo que resolver los siguientes problemas. Gracias. Última edición por adpa fecha: 05-02-2006 a las 16:08:09. |
#2
|
|||
|
|||
Holas! bueno..con respecto a:
*el recorrido del arbol para formar una lista en forma descendente..deberias tener el arbol binario ordenado..los items del arbol deberian haberse insertado ordenadamente..despues podrias recorrer el arbol INORDEN(descendente) y de cada visita mandas a un proceso insertar lista donde cada nodo que traigas lo vayas poniendo al final de la lista.. ..bueno algo asi..ja *lo de los niveles..seria como un recorrido en amplitud creo.. consiste en encolar (si no están vacíos) los subárboles izquierdo y derecho del nodo extraido de la cola, y seguir desencolando y encolando hasta que la cola esté vacía. Es una idea nomas..es iterativo no recursivo..
algo asi tambien.. ahi tenes que fijarte como sacar el nro de nivel..pero creo que es facil no? *Con respecto a la altura del arbol es la cantidad de niveles..que tiene bueno..con lo de arriba deberias darte cuenta..y en si tb lo podrias hacer recursivo..siempre quedandote con el nro..mayor recorriendo hacia la der e izq. espero que te haya dado una idea..todo esto, de todas maneras las operaciones con arboles binarios no tienen demasiada complicacion..ya que solo tenemos 2 nodos! por nivel..al insertar deberias insertar ordenadamente..el problema de esto es que el arbol por lo gral queda desbalanceado..pero se pueden aplicar tecnicas de balanceo. saludos! LA PATRIA SERA LIBRE |
#3
|
|||
|
|||
Muchas Gracias Reina.
Pero tengo alguna duda más. 1 - No tengo muy claro como escribir en el nivel que me encuetro. 2 - Para empezar a mostrar por el último nivel en vez por el primero. En vez de ir escribiendo lo ira metiendo en una pila y luego voy desapilando y ya está verdad? 3 - Como puedo crear una copia de un arbol. Muchas Gracias |
#4
|
|||
|
|||
Holas again..! te recomiendo te hagas un ejemplito de un arbolito..y sigas el algoritmo para entenderlo..lo de los niveles es facil..tendrias que poner un condición acordate que el nivel tiene 2 nodos izq y derecho ..salvo la raiz!eso que te pase imprime por niveles..ademas es iterativo mucho mas facil de entender..que uno recursivo.
Y con respecto a la copia del arbol..si lo que buscas es hacer otro arbol identico..podes utilizar el recorrido en pre_orden..algo asi:
y asi seria..creo jaja..no tengo mucho manejo de puntero Saludos! LA PATRIA SERA LIBRE |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Problemas con instalacion y archivo idr20009.dll | allende | Varios | 0 | 19-01-2006 16:46:33 |
Problemas con componente TGridView | DANY | OOP | 0 | 29-10-2005 00:04:13 |
problemas con visualizacion en winxp | seb@ | OOP | 1 | 07-08-2005 16:19:51 |
Problemas al Empaquetar una aplicación con... | oracle | Varios | 1 | 26-07-2005 16:46:22 |
¿Da problemas instalar Delphi7 teniendo ya Delphi5? | rrf | Varios | 2 | 03-06-2005 19:54:22 |
|