Reporte 3 Algoritmos
Reporte 3 Algoritmos
Reporte 3 Algoritmos
ELECTRICA
ALGORITMOS COMPUTACIONALES
REPORTE #3
06/03/2021
ALGORITMOS RECURSIVOS
Un algoritmo recursivo es un algoritmo que expresa la solución de un problema
en términos de una llamada a sí mismo. La llamada a sí mismo se conoce como
llamada recursiva o recurrente.
Ejemplo:
Frame que contiene los valores locales de id (la variable x) y la dirección de vuelta
(línea B). Este es el top de la pila.
Frame que contiene los valores locales de f (variables a y b) y la dirección de vuelta
(línea B).
Listas: Listas: Las listas representan Colecciones de datos con ocupación en memoria
dinámica. Se construyen en base a tipos recursivos. Útiles para el almacenamiento
eficiente de datos. Tiene ventaja con respecto a la eficiencia en almacenamiento con
respecto al vector, puesto que el tamaño de la lista (espacio en memoria) incrementa
conforme se van añadiendo elementos a ella. Se encuentra en desventaja con
respecto al tiempo de acceso con respecto al vector, puesto que requiere
procesamiento para la localización, inserción, eliminación y determinar longitud de la
lista, que se vuelve mayor conforme el tamaño de la lista crece. En contraste el vector
provee acceso directo independientemente del tamaño del
Existen diversos tipos de listas enlazas. Cada tipo varía por la estructura de su tipo
nodo. Los tipos de lista principales según sus nodos son:
Lista simplemente enlazada con nodo cabecera: el tipo nodo de esta lista está
compuesto por un registro con dos campos: “info” que representa el campo donde se
almacena el elemento y “prox” que es un apuntador a nodo (apunta al siguiente
nodo). Este tipo de lista contiene un nodo sin datos, que sirve como cabecera de la
lista. El primer elemento de la lista inicia en el nodo número dos.
Lista simplemente enlazada sin nodo cabecera: el tipo nodo de esta lista está
compuesto por un registro con dos campos: “info” que representa el campo donde se
almacena el elemento y “prox” que es un apuntador a nodo (apunta al siguiente
nodo).
El primer elemento de la lista se encuentra en el nodo número uno
Lista doblemente enlazada con nodo cabecera: el tipo nodo de esta lista está
compuesto por un registro con tres campos: “info” que representa el campo donde se
almacena el elemento, “prox” que es un apuntador a nodo (apunta al siguiente nodo), y
“ant” que es un apuntador a nodo (apunta al nodo anterior). Este tipo de lista contiene
un nodo sin datos, que sirve como cabecera de la lista. El primer elemento de la lista
inicia en el nodo número dos.
Lista doblemente enlazada sin nodo cabecera: el tipo nodo de esta lista está
compuesto por un registro con tres campos: “info” que representa el campo donde se
almacena el elemento, “prox” que es un apuntador a nodo (apunta al siguiente nodo), y
“ant” que es un apuntador a nodo (apunta al nodo anterior). El primer elemento de la
lista se encuentra en el nodo número uno.
Lista básica: implementada con nodos del tipo “simplemente enlazados”. Permite
almacenar datos con la semántica de un arreglo estático.
Lista doble: implementada con nodos del tipo “doblemente enlazados”. Permite
representar o emular carretes o cintas con principio y fin, permitiendo detenerse en un
punto de la lista, avanzar o retroceder.
Lista circular (ronda) básica: con nodos simplemente enlazados. Permite emular
rondas o estructuras circulares. El último nodo de la lista apunta al primer nodo de la
lista. Se recorre de izquierda a derecha.
Lista circular (ronda) doble: con nodos doblemente enlazados. Permite emular rondas
o estructuras circulares. El último nodo de la lista apunta al penúltimo y al primero. El
primer nodo apunta al siguiente y al último. Se recorre de izquierda a derecha o de
derecha a izquierda.
EN CONCLUCION:
Para finalizar me gustaría añadir que los algoritmos recursivos seme a echo
un contenido muy interesante ya que abarca varios puntos que
desconocía referente este campo, a sido de alto aprendizaje para mi este tema, espero
y este estudio les parezca de alto agrado y cumpla con sus expectativas, lo hice lo
mas completo posible y abarcando todos los puntos del tema , de
mi parte seria todo gracias.
Bibliografía
• uv.mx. (15 de 04 de 2011). Obtenido de uv.mx:
https://www.uv.mx/personal/ocastillo/files/2011/04/Recursividad.pdf
• viva algoritmos y programacion. (16 de 07 de 2012). Obtenido de viva algoritmos y
programacion: http://blogalgoritmosyprogramacion.blogspot.com/2012/07/tipos-recursivos-y-
estructuras-enlazadas.html