TecnoSapiens

Page 1

Tecno Sapiens

FEBRERO 2020

RECURSIVIDAD Y COLAS

Alumno: Oscar Aldana Asignatura: Estructuras de Datos I ,SAIA-A


Índice Resumen Curricular……………………Pág.1 RECURSIVIDAD……………………..……………….Pág.2

Características y ejemplos…………..…………….Pág.3

COLAS:……………………………………………………….……….Pág,4 LINEALES……………………………………………………………….….Pág.5 CIRCULARES……..………………….………………………………….….Pág.6 CUADRO COMPARATIVO…..…………………. ………………………………….….Pág.7


Pág.1 Pág.8

RESUMEN CURRICULAR Nombres: Oscar Alberto Apellidos: Aldana González Edad: 19 Estudios realizados: -Básica -Media -Superiores (4 semestres de ingeniería en computación) Cursos realizados: -Primeros auxilios (cruz roja) -Locución Otras experiencias: Voluntario en la cruz roja (desde hace 4 años)


Recursividad Es una técnica de programación muy importante. Se usa para realizar una llamada a una función desde la misma función. Podemos decir que es la forma en la cual se especifica un proceso basado en su propia definición. Siendo un poco más precisos: Un problema que pueda ser definido en función de su tamaño, sea este N, pueda ser dividido en instancias más pequeñas (menores que N) del mismo problema y se conozca la solución explícita a las instancias más simples, lo que se conoce como casos base ( o lo que llamo criterio de parada), se puede aplicar inducción sobre las llamadas más pequeñas y suponer que estas quedan resueltas.

Constituye un concepto importante en informática. Muchos algoritmos se pueden describir mejor en términos recursividad..

Pág.2

IMPORTANTE: -Debe existir un cierto criterio, llamado criterio base, por el que el procedimiento no se llama así mismo. -Cada vez que el procedimiento se llame a si mismo (directa o indirectamente), debe estar más cerca del criterio base. .


Pág.3

Características y ejemplos Para que la definición no sea circular, debe tener las dos siguientes propiedades: Debe haber ciertos argumentos, llamados valores base, para los que la función no se refiera a si misma. Cada vez que la función se refiera a si misma, el argumento de la función debe acercarse más al valor base.

Recursividad en c++ de Función Ackerman

Programa en C++ que calcula el producto de dos números de forma recursiva

Un algoritmo recursivo consta de una parte recursiva, otra iterativa o no recursiva y una condición de terminación. La parte recursiva y la condición de terminación siempre existen. En cambio la parte no recursiva puede coincidir con la condición de terminación. Algo muy importante a tener en cuenta cuando se use la recursividad es que es necesario asegurarnos que llega un momento en que no hacemos más llamadas recursivas. Si no se cumple esta condición el programa no parará nunca.


COLAS

Pág.4

Es una estructura de datos, caracterizada por ser una secuencia de elementos en la que la operación de inserción push se realiza por un extremo y la operación de extracción pop por el otro. También se le llama estructura FIFO (del inglés First In First Out), debido a que el primer elemento en entrar será también el primero en salir. Se utilizan en sistemas informáticos, transportes y operaciones de investigación (entre otros), dónde los objetos, personas o eventos son tomados como datos que se almacenan y se guardan mediante colas para su posterior procesamiento. Este tipo de estructura de datos abstracta se implementa en lenguajes orientados a objetos mediante clases, en forma de listas enlazadas.

CARACTERISTICAS: -Añade nuevos elementos, al final de la misma. -Se elimina el elemento frontal de la cola, es decir, el primer elemento que entró. -Se devuelve el elemento frontal de la cola, es decir, el primero elemento que entró.


COLAS

LINEALES: En las colas lineales los elementos se insertan en la cola (parte final) de la lista y se suprime o elimina por la frente (parte inicial, cabeza) de la lista. Las explicaciones utilizan una cola para almacenar elementos en un orden de apariciรณn o concurrencia. Se debe tomar en cuenta que ese tipo de estructura es limitada ya que una vez llenada la cola no podrรก reutilizar ese espacio hasta reiniciar la cola.

Pรกg.5


COLAS

Pág.6

CIRCULARES: Es una estructura de datos en la que los elementos están de forma circular y cada elemento tiene un sucesor y un predecesor. Los elementos pueden consultarse, añadirse eliminarse únicamente desde la cabeza del anillo que es una posición distinguida. Esta avanza en el sentido de las agujas del reloj.

Esta estructura elimina las limitaciones de la cola lineal ya que los espacios de memoria se pueden volver a usar una vez el puntero frente avance es decir extraer un registro. Para que esto pueda suceder se debe tomar en cuenta que el registro máximo de posiciones a llenar será n-1 ya que debe existir un espacio en la cola que se utilizara como un espacio de control para que los punteros frente y final no estén en la misma posición en ningún momento.

Para la creación de una cola circular se usan 2 punteros que llamaremos frente y final. El puntero frente se declara en -1 y el punteo final en 0, una vez se inserte un elemento en la cola el puntero final será el que se moverá y el eliminarlo es el puntero frente quien se mueve.


COLAS

Pรกg.7



Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.