Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-08-2013
avechuche avechuche is offline
Miembro
NULL
 
Registrado: may 2013
Posts: 23
Poder: 0
avechuche Va por buen camino
Problemas con árboles binarios

Hola gente, necesito ayuda (De esto depende si apruebo o no Programación II ^^)

Tengo que hacer 5 ejercicios si o si (Además de aprobar el final) para aprobar la materia. Hice los 3, pero los otros dos no tengo ni idea (Al menos de uno)

1) Tengo que crear un algotirmo recursivo o no, que me permita construir un árbol binario de búsqueda a partir de un árbol binario.
2) Tengo que crear una función que me diga si un árbol es binario de búsqueda.

Les dejo el TAD que usamos, por si quieren intentar con ellos, o si tienen otros, desp me las arreglo para transformalo.
Código Delphi [-]
Procedure CrearArbolNulo(Var A: Arbol);
Function ArbolNulo(A: Arbol): Boolean; // Sinonimo de arbol vacio
Function ArbolLleno(A: Arbol): Boolean;
Function RamaNula(P: PosicionArbol): Boolean; // Controla si un apuntador es nil
Function RecuperarDatos(A: Arbol; P: PosicionArbol; Var X: TipoElemento): Boolean;
Function CargarArbol(Var A: Arbol): Boolean;
Function PreOrden(A: Arbol): String;
Function InOrden(A: Arbol): String;
Function PostOrden(A: Arbol): String;
Function Anchura(A: Arbol): String;
Function PreOrdenITE(A: Arbol): String;
Function Altura(A: Arbol): Integer;
Function BuscarPreOrden(A: Arbol; X: TipoElemento; ComparaPor:CampoComparar): PosicionArbol;
Function Nivel(A: Arbol; Q:PosicionArbol): Integer;
Function HijoIzquierdo(A: Arbol; P: PosicionArbol): PosicionArbol;
Function HijoDerecho(A: Arbol; P: PosicionArbol): PosicionArbol;
Function Padre(A: Arbol; Hijo: PosicionArbol): PosicionArbol;
// Busqueda Binaria
Function InsertarNodo(Var A: Arbol; X: TipoElemento; ComparaPor:CampoComparar): Boolean;
Function EliminarNodo(Var A: Arbol; X: TipoElemento; ComparaPor:CampoComparar): Boolean;
Function BusquedaBinaria(A: Arbol; X: TipoElemento; ComparaPor:CampoComparar): PosicionArbol;
// Busqueda Binaria Balanceado
Function InsertarNodoAVL(Var A: Arbol; X: TipoElemento; ComparaPor:CampoComparar): Boolean;
Function EliminarNodoAVL(Var A: Arbol; X: TipoElemento; ComparaPor:CampoComparar): Boolean;
Responder Con Cita
  #2  
Antiguo 01-08-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Y qué tienes hecho?
Una simple búsqueda en google te devuelve montones de ejemplos, ¿no te vale ninguno?
Responder Con Cita
  #3  
Antiguo 02-08-2013
avechuche avechuche is offline
Miembro
NULL
 
Registrado: may 2013
Posts: 23
Poder: 0
avechuche Va por buen camino
El que tenia que comprobar si es un árbol binario de búsqueda, ya lo resolvi, ese era el que tenia casi echo, pero me daba ciertos errores, el que me falta ahora, es pasar de un árbol binario a un árbol binario de búsqueda, ese si que no se como empezarlo! Ya busque en Google a ver si hay algun algoritmo echo, pero nada, ni parecido, como si nadie pasara de arbol a ABB ^^.
Responder Con Cita
  #4  
Antiguo 02-08-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por avechuche Ver Mensaje
pasar de un árbol binario a un árbol binario de búsqueda
La verdad es que no entiendo la pregunta
Responder Con Cita
  #5  
Antiguo 02-08-2013
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
avechuche,

Cita:
Empezado por avechuche
...crear una función que me diga si un árbol es binario de búsqueda...
Revisa estos links:
Espero sea útil

Nelson.
Responder Con Cita
  #6  
Antiguo 02-08-2013
avechuche avechuche is offline
Miembro
NULL
 
Registrado: may 2013
Posts: 23
Poder: 0
avechuche Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
La verdad es que no entiendo la pregunta
Claro es asi. Un árbol binario, significa que cada nodo puede tener 0, 1 ó 2 hijos, por eso binario. Pero no necesariamente es de busqueda. Un árbol de busqueda es cuando los hijos izquierdos son menores que el padre y los derechos son mayores.

Un ejemplo facil 4 <= 5 => 6. Ahi 5 es la raíz del árbol, 4 es el hijo izquierdo y es menor que la raíz y 6 es el hijo derecho y es mayor que la raíz. Este es un árbol binario de busqueda.

Ahora 5 <= 4 => 6, esto es un árbol binario, pero no de busqueda, porque la raíz que es 4 es menor que el hijo izquierdo.

Entonces yo tengo que generar un algoritmo que pase de arbol binario NO de busqueda a uno binario DE busqueda.

Última edición por avechuche fecha: 02-08-2013 a las 22:58:39.
Responder Con Cita
  #7  
Antiguo 02-08-2013
avechuche avechuche is offline
Miembro
NULL
 
Registrado: may 2013
Posts: 23
Poder: 0
avechuche Va por buen camino
Cita:
Empezado por nlsgarcia Ver Mensaje
avechuche,



Revisa estos links:
Espero sea útil

Nelson.
Gracias Nelson. La teoria la tengo clara, lo que pasa es que no me doy cuenta como hacerlo, y mas con el tema de recursividad que es algo que no se usa todos los dias
Responder Con Cita
  #8  
Antiguo 03-08-2013
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
avechuche,

Cita:
Empezado por avechuche
...La teoria la tengo clara...
Te sugiero revisar los links del Msg #5, en ellos encontraras código que te dará una mejor idea de como empezar tu proyecto, el último link en particular contiene mucha información sobre arboles binarios.

Espero sea útil

Nelson.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Duda con árboles y listas San29 Varios 4 18-06-2011 20:52:05
arboles ebanibaldo OOP 2 11-05-2010 18:27:58
manejo de arboles en Mysql maria.lourdes MySQL 4 01-02-2008 16:19:49
Problemas con Arboles. adpa Varios 3 06-02-2006 21:26:27
examen de programación (pascal) Arboles Binarios y n-arios ale21alito Varios 2 24-04-2005 02:58:15


La franja horaria es GMT +2. Ahora son las 00:31:05.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi