Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-01-2006
miguel_e miguel_e is offline
Miembro
 
Registrado: ene 2006
Posts: 86
Poder: 19
miguel_e Va por buen camino
Que tipo de arbol debo usar?

Hola a todos, tengo que hacer un pequeño trabajo para la escuela, pero tengo dudas, el ejercicio consiste en hacer un diccionario utilizando una estructura de datos especificamente arboles, la aplicacion va a tener varios diccionarios cada uno con un idioma distinto y estos a su vez van a estar en una lista, entonces lo que pide son agregar palabra , traducir a un idioma, etc hasta ahi todo bien, lo que no se es que tipo de arbol debo utilizar porque un arbol binario no le veo la gran utilidad, un arbol normal tampoco, diganme si ustedes conocen otro tipo o si alguno de estos es el indicado y porque?????, de paso si conocen algunas paginas con documentacion se lo agredeceria

muchas gracias salu2
miguel_e
Responder Con Cita
  #2  
Antiguo 25-01-2006
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Yo utilizaría una tabla, con tantos campos como idiomas x 2

1 Palabra
2 Definición.

1 Trabajo
2 definición
3 Arbeit
4 .......
5 travaille
6.........
7 Work
8.....


Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 25-01-2006
reina reina is offline
Miembro
 
Registrado: ago 2005
Ubicación: Capital Federal-La Plata (Bs As)
Posts: 147
Poder: 19
reina Va por buen camino
Hola! bueno te doy unas puntas por si tu problema lo tienes que resolver..usando la estructura de datos.."arboles".
Tienes:
-Arboles Binarios: los cuales tiene 2 nodos..como lo dice su nombre.
-Arboles AVL: los cuales son arboles balanceados en altura.
-Arboles multicaminos: que es como los binarios..pero en vez de tener 2 punteros..tiene r registros y r+1 apuntadores, es para manejarlos con menor profundidad..
-Arboles B: se hacen de arriba para abajo...permite que este balanceado..tiene n nodos y n+1 apuntadores..n define el orden de arbol..
-Arboles B*: es parecido al de arriba..pero cada nodo esta lleno porn lo menos en 2/3 partes ..en si los nodos hay claves o registros se entiende?..bueno te podria nombrar..unos cuantos arboles mas..ja ya que estoy preparando un final sobre eso..

En si no quiero hacerte una teoria de todo fijate cual..es el que mas te conviene..con respecto a cada tipo de arbol tiene sus reglas de inserccion y eliminacion..investiga si te sirven.
Espero contribuya en algo a tu problema..saludosss

LA PATRIA SERA LIBRE
Responder Con Cita
  #4  
Antiguo 25-01-2006
Norberto Norberto is offline
Registrado
 
Registrado: ene 2006
Ubicación: Ciudad Juárez, Chihuahua México
Posts: 2
Poder: 0
Norberto Va por buen camino
Estructuras de árboles

Me imagino que el objetivo por el cual te pidieron utilizar una estructura de arbol es para ordenar las palabras del diccionario de manera ascendente (o descendente aunque es más común ascendente). Cualquier tipo de árbol te funciona para hacer esto, es decir mantener un orden ascendente por cada palabra del diccionario, y yo te recomendaría el árbol binario por ser el más sencillo, aunque no le veas mucho el caso.

EJEMPLO:
Si quieres insertar las siguientes palabras a la estructura de árbol:
casa
vehículo
empleado
árbol
computadora
perro
gato

tomas la primer palabra y la insertas en el nodo raiz, luego tomas la segunda palabra y la comparas con la primer palabra, si la palabra es mayor la insertas en el nodo derecho y si es mayor la insertas en el nodo izquierdo, en este caso vehículo es mayor que casa (la "v" de vehículo va después de "c" de casa en el abecedario), ejemplo empleado es mayor que casa y menor que vehículo, así que se insertaría a la izquiera de vehículo.

el árbol binario te quedaría de la siguiente forma:


casa (nodo raiz)
|- árbol (nodo izq)
|-vehículo (nodo der)
|- empleado (nodo izq)
|- computadora (nodo izq)
|- perro (nodo der)
|- gato (nodo izq)

Este sería tu diccionario en español, y si tienes más de un diccionario, entonces tendrías una estructura que es una lista de árboles, es decir una lista de diccionarios que contienen árboles de palabras. Y me imagino que cuando quisieras consultar una palabra, quisieras saber su traducción, así que yo le agregaría al nodo un apuntador al nodo de la palabra del arbol del otro idioma, pero no sé si te estén pidiendo esto.

Saludos

Norberto
Responder Con Cita
  #5  
Antiguo 25-01-2006
Norberto Norberto is offline
Registrado
 
Registrado: ene 2006
Ubicación: Ciudad Juárez, Chihuahua México
Posts: 2
Poder: 0
Norberto Va por buen camino
corrección

En mi mensaje anterior la cosa esta le quitó los espacios al arbol de texto que puse como ejemplo y se desfiguró.

Quedaría:
casa (nodo raiz)
árbol (nodo izq de casa) vehículo (nodo der de casa)
empleado (nodo izq de vehículo)
computadora (nodo izq de empleado)
perro (nodo der de empleado)
gato (nodo izq de perro)


saludos

Norberto
Responder Con Cita
  #6  
Antiguo 25-01-2006
miguel_e miguel_e is offline
Miembro
 
Registrado: ene 2006
Posts: 86
Poder: 19
miguel_e Va por buen camino
Muchas gracias a todos pues si tengo pensado que cada nodo tenga una referencia a la palabra(nodo) en el idioma siguiente en caso que haya por supuesto. Si ya habia pensado en los arboles binarios, de hecho son los que mas conozco el gran probema de ellos es que si le dan por meter la informacion ordenada queda muy desvalanciado el arbol, por eso estaba buscando otras ideas, no se, trato de buscar la idea mas eficiente, aunque esto trabajo no lo lleva, me gusta intentar hacer las cosas lo mejor posible, creo que lo voy a empezar a hacer asi ya que no dispongo de mucho tiempo para entregarlo , pero me gustaria que siguieran aportando ideas para seguir conociendo gracias a todos

salu2
miguel_e
Responder Con Cita
  #7  
Antiguo 25-01-2006
miguel_e miguel_e is offline
Miembro
 
Registrado: ene 2006
Posts: 86
Poder: 19
miguel_e Va por buen camino
Muchas gracias a todos pues si tengo pensado que cada nodo tenga una referencia a la palabra(nodo) en el idioma siguiente en caso que haya por supuesto. Si ya habia pensado en los arboles binarios, de hecho son los que mas conozco el gran probema de ellos es que si le dan por meter la informacion ordenada queda muy desvalanciado el arbol, por eso estaba buscando otras ideas, no se, trato de buscar la idea mas eficiente, aunque esto trabajo no lo lleva, me gusta intentar hacer las cosas lo mejor posible, creo que lo voy a empezar a hacer asi ya que no dispongo de mucho tiempo para entregarlo , pero me gustaria que siguieran aportando ideas para seguir conociendo gracias a todos

salu2
miguel_e
Responder Con Cita
  #8  
Antiguo 25-01-2006
reina reina is offline
Miembro
 
Registrado: ago 2005
Ubicación: Capital Federal-La Plata (Bs As)
Posts: 147
Poder: 19
reina Va por buen camino
holas! again..bueno si buScas simplicidad..quedate con los binarios..son faciles de implementar pero menos eficientes en la busqueda..ya que siempre tendras el problema de desbalanceo..los arboles balanceados..son mas dificiles de hacer!. mmm tb podrias implementar una especie de arbol de estructuras..donde tengas un arbol..de referencias..osea de indices..y que cada indice..apunte a una estructura que contenga datos emparentados..como por ejemplo..los datos que empiezen con una determinada letra..
En si tambien deberias tener en cuenta los metodos de busqueda a la hora de encontrar una palabra..porque mas alla del diccionario..de la carga de este..alguna utilidad tendra que tener o no?..en la red..hay miles de implementaciones de diferentes arboles..y algortimos de busquedas..
Espero que tengas suerte!

LA PATRIA SERA LIBRE
Responder Con Cita
  #9  
Antiguo 26-01-2006
Avatar de OSKR
OSKR OSKR is offline
Miembro
 
Registrado: nov 2004
Ubicación: San Cristóbal/Táchira/Venezuela
Posts: 389
Poder: 20
OSKR Va por buen camino
Lo mejor q puedes hacer es una Lista de Adyacencia donde cada fila puede ser la palabra y su lista apuntada los idiomas
__________________
Los Estados Unidos parecen destinados por la Providencia para plagar la América de miserias a nombre de la libertad."
Simón Bolívar
(Carta al Coronel Inglés Patricio Cambell 05/08/1829).
Responder Con Cita
  #10  
Antiguo 26-01-2006
miguel_e miguel_e is offline
Miembro
 
Registrado: ene 2006
Posts: 86
Poder: 19
miguel_e Va por buen camino
OK, utilize un arbol binario, gracias a todos por sus comentarios, quizas despues siguamos hablando de arboles.

salu2
miguel_e
Responder Con Cita
  #11  
Antiguo 21-02-2007
Osvaldo Mercado Osvaldo Mercado is offline
Registrado
 
Registrado: feb 2007
Posts: 2
Poder: 0
Osvaldo Mercado Va por buen camino
Smile Hola

Me pregunto si uds. no saben si ya hay un codigo de arboles (ya sean binarios o muticampos) es delphi y o a donde lo puedo conseguir...

gracias

atte.

Osmer
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Que Tipo de Campo Usar?? MasterXP MySQL 7 19-02-2005 20:42:44
Que tipo usar para Money?? y DBLookUpCombo T-man Firebird e Interbase 4 10-11-2004 17:12:06
Que tipo de tabla usar ctronx MySQL 4 05-08-2004 12:53:36
Que componentes debo usar? sitrico Conexión con bases de datos 5 28-07-2004 19:14:06
Que QRband debo usar? aurix Impresión 3 17-02-2004 15:29:26


La franja horaria es GMT +2. Ahora son las 21:22:51.


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