Documente Academic
Documente Profesional
Documente Cultură
Lista y árboles
• Insertar un elemento en
una lista.
• Buscar un elemento en
una lista.
• Borrar un elemento de una
lista.
• Recorrer los elementos de
una lista.
• Borrar todos los elementos
de una lista.
Árbol
Es una estructura de datos, que puede
definirse de forma recursiva como:
Ventajas Desventajas
• Hace más explícito e intuitivo • La secuencia que sigue la
el proceso de toma de solución del problema,
decisiones. depende de la probabilidad en
que acurran los eventos.
• Se captan mejor los diferentes
• Cuando el árbol es muy
cursos de acción. complejo, es tedioso y tardado
• Se puede observar la magnitud hacer la estimación y la
de las inversiones que cada evaluación de los eventos.
curso de acción origina. • Se requiere una serie de datos
que algunas veces pueden ser
difíciles de conseguir.
Listas en Prolog
Lista vacía: []
listing.
dios_egipcio(amon).
dios_egipcio(anubis).
dios_egipcio(apis).
dios_egipcio(ra).
% Si queremos eliminar un
elemento de la lista.
% Si X es la cabeza de la lista,
la cola T es la lista sin X.
% Si X no es la cabeza de la
lista, conservamos la cabeza
de la lista.
% como parte de la respuesta
y continuamos eliminando X de
la cola T.
Concatenar
listas en Prolog
% Si queremos concatenar dos
listas.
% Concatenar una lista vacía
con L es L.
% Concatenar X|L1 con L2 es
poner el primer
% elemento de la primera lista
(X) más la
% concatenación del resto de la
lista (L1) con L2.
Concatenación
La concatenación o conduplicación
es, en general, el acto de unir o
enlazar cosas.
MANIPULACIÓN DE SUBLISTAS
EN PROLOG
Hay (al menos) otras dos formas de cómo definir sublista, ejemplo: usando las
relaciones prefijo y sufijo. Todas estas definiciones son equivalentes. Sin
embargo, el procedimiento sublista3 es probablemente lo más cercano al estilo
de programación tradicional (no declarativo), ya que usa la técnica conocida
como "floating window".
sublista(S,L):-agregar(_,S,P),agregar(P,_,L).
sublista2(S,L):-prefijo(P,L), sufijo(S,P).
sublista3(S,L) :- prefijo(S,L).
sublista3(S,[_|T]) :- sublista3(S,T).
Ordenamiento
La ordenación o clasificación
de datos consiste en la
disposición de los mismos de
acuerdo con algún valor o
característica.
Interno Externos
Directos • Mezcla directa.
– Burbuja. • Mezcla equilibrada.
– Selección.
– Inserción.
Logarítmicos
– Shell.
– Merge.
– Heap.
– Quick.
– Radix.
Método algorítmico
1. Analizar y definir el
problema.
2. Definir la estrategia a seguir
para llegar a la solución y
llevarla a la práctica.
3. Definir alternativas de
solución al problema y
seleccionar la mejor.
4. Comprobar la pertinencia de
la solución seleccionada.
Características del planteamiento de los problemas
de razonamiento
• Expresar con claridad, de manera
que se entienda lo que se está
diciendo.
• Incluir todos los datos necesarios
para su resolución.
• Expresar claramente las
condiciones en las cuales se da la
situación o el hecho que se va a
resolver.
• Expresar las reglas con las cuales
se debe buscar la solución.
• Terminar con una pregunta en la
que se indique el tipo de solución
que se espera.
29
Frase
“Los programadores hablan sobre
desarrollo los fines de semana,
vacaciones y en las comidas, no por falta
de imaginación, sino porque su
imaginación revela mundos que otros no
pueden ver”