SlideShare una empresa de Scribd logo
1 de 10
INSTITUTO TECNOLÓGICO SUPERIOR DE FELIPE CARRILLO PUERTO. 
MATERIA: Estructura De Datos 
TIPO: Presentación (Evidencias Unidad 2 y 3) 
DOCENTE: MTL. Niels Henryk Aranda Cuevas 
ALUMNO: Efrain Antonio Poot Tuz 
CARRERA: Ingeniería En Sistemas Computacionales 
TURNO: Matutino 
AULA: J-3 GRUPO: “A” 
TERCER SEMESTRE 
LUGAR Y FECHA: Felipe Carrillo Puerto, Q.Roo, 10/11/2014
En general, los prUognriadmaads c2o.n Rreecucrusirvsidiavdidesatádn estructurados 
de tal modo que las funciones se llaman unas a otras de una 
manera disciplinada y jerárquica. Para algunos tipos de 
problemas, es útil tener funciones que se llaman a sí mismas. 
Una función recursiva es una función que se llama a sí misma de 
manera directa o indirecta a través de otra función. La 
recursividad es un tema complejo que se imparte en cursos de 
computación largos y avanzados. Primero, consideraremos la 
recursividad de manera conceptual, y posteriormente 
explicaremos algunos programas que contienen funciones 
recursivas. Los métodos para solucionar problemas por medio de 
la recursividad tienen algunos elementos en común. Se llama a 
una función recursiva para resolver un problema. La función en 
realidad sólo sabe cómo resolver el problema para el caso más 
sencillo, o caso base. Si se invoca a la función desde el caso base, 
ésta simplemente devuelve un resultado. Si se llama a la función 
desde un problema más complejo, la función divide el problema 
en dos partes conceptuales. Una parte que la función sabe cómo 
resolver y una parte que la función no sabe cómo resolver.
Para hacer posible la recursividad, la segunda parte debe replantear 
el problema original, pero con una versión ligeramente más sencilla o 
más pequeña que el problema original. Una función llama a una 
nueva copia de sí misma para que trabaje con el problema más 
pequeño, a esto se le denomina llamada recursiva o también paso 
recursivo. El paso recursivo también incluye la palabra reservada 
return, debido a que su resultado se combinará con la parte del 
problema que la función sabe cómo resolver para formar un 
resultado que se pase a la llamada original a la función, 
posiblemente. El paso recursivo se ejecuta mientras la llamada a la 
función original permanezca abierta, es decir, mientras no termine su 
ejecución. El paso recursivo puede generar muchas más de estas 
llamadas recursivas, mientras la función continúa dividiendo cada 
problema en dos partes conceptuales. Para que la recursividad 
termine, cada vez que la función se invoca a sí misma con una 
versión del problema ligeramente más sencilla que el problema 
original, esta secuencia de problemas más pequeños debe converger 
en algún momento con el caso base.
En ese punto, la función reconoce el caso base, devuelve el resultado a 
la copia previa de la función, y se presenta una secuencia de 
resultados que se mueve hacia arriba, hasta que la función original 
devuelve el resultado final a main . Se necesita bastante práctica en la 
escritura de programas recursivos, antes de que el proceso logre 
obtener una apariencia natural. Para ejemplificar estos conceptos, 
escribamos un programa recursivo que realice un cálculo matemático 
muy popular. 
El factorial de un entero no negativo n, se escribe n! (y se pronuncia “n 
factorial”), es el producto n (n - 1) (n - 2)… 1 donde 1! es igual a 1, y 
0! se define como 1. Por ejemplo, 5! Es el producto 5*4*3*2*1, el cual 
es igual a 120. El factorial de un entero, numero, 1 mayor o igual que 
0, se puede calcular de manera iterativa (no recursiva) por medio de 
una instrucción for de la siguiente manera: 
Factorial = 1; 
For (contador = numero; contador >= 1; contador--) 
Factorial *= contador;
Se puede llegar a una definición recursiva de la función factorial 
mediante la siguiente relación: n! = n (n - 1)! 
Por ejemplo, podemos ver claramente que 5! es lo mismo que 5*4!, 
como lo mostramos a continuación: 
5! = 5 4 3 2 1 
5! = 5 (4 3 2 1) 
5! = 5 (4!) 
La siguiente figura muestra los valores devueltos por cada llamada 
recursiva a su llamada original, hasta que se calcula y se devuelve el 
valor final.
Listas Ligadas 
Una lista ligada Unidad es una 3. Estructuras colección lineal Lineales 
de estructuras 
autorreferenciadas, llamadas nodos, conectadas por medio de ligas 
apuntador; de aquí el término lista “ligada”. Se accede a una lista 
ligada a través de un apuntador al primer nodo de la lista. Se accede 
a los nodos subsiguientes a través del miembro liga almacenado en 
cada nodo. Por convención, el apuntador liga del último nodo de una 
lista se establece en NULL, para marcar el final de la lista. Los datos 
se almacenan en una lista ligada dinámicamente; conforme es 
necesario, se crea cada nodo. Un nodo puede contener datos de 
cualquier tipo, incluso otros objetos struct . Las pilas y las colas 
también son estructuras de datos lineales y, como veremos, son 
versiones restringidas de listas ligadas. Los árboles son estructuras 
de datos no lineales. Las listas de datos pueden almacenarse en 
arreglos, pero las listas ligadas proporcionan muchas ventajas. Una 
lista ligada es adecuada, cuando el número de elementos a 
representarse en la estructura de datos es impredecible. Las listas 
ligadas son dinámicas, por lo que la longitud de una lista puede
Sin embargo, el tamaño de un arreglo no puede alterarse una vez 
que se asignó la memoria. Los arreglos pueden llenarse. Las listas 
ligadas sólo se llenan cuando el sistema tiene insuficiente memoria 
para satisfacer los requerimientos de asignación dinámica de 
almacenamiento. Las listas ligadas pueden mantenerse ordenadas, 
si se inserta cada nuevo elemento en el punto adecuado de la lista. 
Los nodos de una lista ligada por lo general no se 
almacenan contiguamente en memoria. Sin 
embargo, de manera lógica, los nodos de una lista 
ligada aparentan estar contiguos.
Pilas 
Una pila es una versión restringida de una lista ligada. Los nuevos 
nodos pueden añadirse y eliminarse de una pila sólo en la cima. 
Por esta razón, a una pila se le conoce como una estructura de 
datos última en entrar, primera en salir (UEPS). Se hace referencia 
a una pila por medio de un apuntador hacia el elemento en la 
cima de la pila. El miembro liga del último nodo de la pila se 
establece en NULL para indicar el fondo de la pila. La figura 
muestra una pila con diversos nodos. Observe que las pilas y las 
listas ligadas se representan de manera idéntica. La diferencia 
entre las pilas y las listas ligadas es que las inserciones y las 
eliminaciones pueden ocurrir en cualquier parte de la lista ligada, 
mientras que en una pila, dichas operaciones se realizan sólo en 
la cima de ésta. 
Las funciones básicas que se utilizan para manipular una pila son 
empujar y sacar. La función empujar crea un nuevo nodo y lo 
coloca en la cima de la pila. La función sacar elimina un nodo de 
la cima de la pila, libera la memoria que estaba asignada al nodo
Colas 
Otra estructura de datos común es la cola. Una cola es parecida a 
una fila para pagar en un supermercado; a la primera persona de la 
fila se le atiende primero, y los demás clientes entran a la fila sólo al 
final de ella, y esperan a que se les atienda. Los nodos de una cola se 
eliminan sólo de la cabeza de la cola, y se insertan sólo en los 
talones de ella. Por esta razón, a una cola se le conoce como una 
estructura de datos primera en entrar, primera en salir (PEPS). Las 
operaciones de insertar y eliminar se conocen como agregar en la 
cola y retirar de la cola. 
Las colas tienen muchas aplicaciones en sistemas de cómputo. 
Muchas computadoras sólo tienen un procesador, por lo que sólo es 
posible atender a un usuario a la vez. Las entradas de los demás 
usuarios se colocan en una cola. Cada entrada avanza gradualmente 
desde el frente de la cola, conforme los usuarios reciben servicio. La 
entrada del frente de la cola es la siguiente en recibir servicio.
CONCLUSIÓN GENERAL 
Durante la segunda unidad aprendimos a utilizar la recursividad, y como practica realizamos dos 
programas, el primero realizaba el factorial de un numero dado y la segunda realizaba la sucesión de 
Fibonacci. En forma general los programas están estructurados de tal modo que las funciones se 
llaman unas a otras de una manera disciplinada y jerárquica. Para algunos tipos de problemas, es útil 
tener funciones que se llaman a sí mismas. Como vimos una función recursiva es una función que se 
llama a sí misma de manera directa o indirecta a través de otra función. 
En la tercera unidad aprendimos acerca de las listas simple y doblemente ligadas, vimos como 
declarar, crear, eliminar, buscar y recorrer un nodo en ellas. Ahora sabemos que una lista ligada es 
una colección lineal de estructuras autorreferenciadas, llamadas nodos conectados por medio de ligas 
apuntador y que para acceder a ella utilizamos apuntadores. Además, aprendimos a diferenciar la lista 
simple de la doblemente ligada al momento de programar. También utilizamos las colas las cuales son 
estructuras de datos Peps (Primeras entrar, Primeras en salir, los nuevos nodos pueden añadirse y 
eliminarse sólo en la cima). y las pilas las cuales son estructuras de datos Ueps (Ultimas en entrar, 
Primera en salir, los nuevos nodos pueden añadirse en los talones y eliminarse en la cabeza).

Más contenido relacionado

La actualidad más candente (20)

Listas enlazadas
Listas enlazadasListas enlazadas
Listas enlazadas
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Listas y Pilas
Listas y PilasListas y Pilas
Listas y Pilas
 
Tipos de listas en estructura de datos
Tipos de listas en estructura de datosTipos de listas en estructura de datos
Tipos de listas en estructura de datos
 
Listas
ListasListas
Listas
 
Listas c#
Listas c#Listas c#
Listas c#
 
Incorporacion De Una Tabla De Simbolos Compiladores
Incorporacion De Una Tabla De Simbolos CompiladoresIncorporacion De Una Tabla De Simbolos Compiladores
Incorporacion De Una Tabla De Simbolos Compiladores
 
Programación 3: listas enlazadas
Programación 3: listas enlazadasProgramación 3: listas enlazadas
Programación 3: listas enlazadas
 
Unidad 3 estructuras lineales estaticas y dinamicas
Unidad 3 estructuras lineales estaticas y dinamicasUnidad 3 estructuras lineales estaticas y dinamicas
Unidad 3 estructuras lineales estaticas y dinamicas
 
ED Listas, Pilas y Colas
ED Listas, Pilas y ColasED Listas, Pilas y Colas
ED Listas, Pilas y Colas
 
Importancia de las listas Estructura de datos.
Importancia de las listas Estructura de datos.Importancia de las listas Estructura de datos.
Importancia de las listas Estructura de datos.
 
Teoria de listas
Teoria de listasTeoria de listas
Teoria de listas
 
Tabladesmbolos 101103230525-phpapp02
Tabladesmbolos 101103230525-phpapp02Tabladesmbolos 101103230525-phpapp02
Tabladesmbolos 101103230525-phpapp02
 
estructura lineales
estructura linealesestructura lineales
estructura lineales
 
Tipos de Datos Abstractos (TDA)
Tipos de Datos Abstractos (TDA)Tipos de Datos Abstractos (TDA)
Tipos de Datos Abstractos (TDA)
 
Listas
ListasListas
Listas
 
Listas Enlazadas
Listas EnlazadasListas Enlazadas
Listas Enlazadas
 
Tad Colas
Tad ColasTad Colas
Tad Colas
 
Estructuras de datos lineales
Estructuras de datos linealesEstructuras de datos lineales
Estructuras de datos lineales
 

Destacado

Instituciones y sistemas de informacion
Instituciones y sistemas de informacionInstituciones y sistemas de informacion
Instituciones y sistemas de informacionLuis Mendoza
 
Presentación1.ppt de stadistikkkkk
Presentación1.ppt de stadistikkkkkPresentación1.ppt de stadistikkkkk
Presentación1.ppt de stadistikkkkk21yuli
 
INTRODUCCION A LA CONTABILIDAD
INTRODUCCION A LA CONTABILIDADINTRODUCCION A LA CONTABILIDAD
INTRODUCCION A LA CONTABILIDADJoseline1412
 
Entornos colaborativos en proyectos de investigación
Entornos colaborativos en proyectos de investigaciónEntornos colaborativos en proyectos de investigación
Entornos colaborativos en proyectos de investigaciónalfredotolentino75
 
Cypress removal services
Cypress removal servicesCypress removal services
Cypress removal servicesEvan's Hauling
 
Rubrica de -evaualuación- azucena-rodriguez-rivera
Rubrica  de -evaualuación- azucena-rodriguez-riveraRubrica  de -evaualuación- azucena-rodriguez-rivera
Rubrica de -evaualuación- azucena-rodriguez-riveraAzucean Rodriguez
 
ТПЛМ 1052 Логістика в системі управління організацією. О.М.Горяїнов (2009)
ТПЛМ 1052 Логістика в системі управління організацією. О.М.Горяїнов (2009)ТПЛМ 1052 Логістика в системі управління організацією. О.М.Горяїнов (2009)
ТПЛМ 1052 Логістика в системі управління організацією. О.М.Горяїнов (2009)Oleksiy Goryayinov
 
CRM, Vende más y sé más eficiente con un CRM
CRM, Vende más y sé más eficiente con un CRMCRM, Vende más y sé más eficiente con un CRM
CRM, Vende más y sé más eficiente con un CRMAlvaro Sanchez Prieto
 
Foros roberto carloscontreras
Foros roberto carloscontrerasForos roberto carloscontreras
Foros roberto carloscontrerasrobcarl2014
 
JAYU Compay Profile (English)
JAYU Compay Profile (English)JAYU Compay Profile (English)
JAYU Compay Profile (English)Neil Pang
 
POTESTAD TRIBUTARIA
POTESTAD TRIBUTARIAPOTESTAD TRIBUTARIA
POTESTAD TRIBUTARIAMEDUARDOGIL
 
Kanpur Plastic Ltd.
Kanpur Plastic Ltd.Kanpur Plastic Ltd.
Kanpur Plastic Ltd.Aishik Saha
 
Desmontando a lavadora_electrolux_ltr_15
Desmontando a lavadora_electrolux_ltr_15Desmontando a lavadora_electrolux_ltr_15
Desmontando a lavadora_electrolux_ltr_15Roberto Pinho
 

Destacado (20)

Belleza gonzaga
Belleza gonzagaBelleza gonzaga
Belleza gonzaga
 
La mini quest
La mini questLa mini quest
La mini quest
 
Простая мова
Простая моваПростая мова
Простая мова
 
Instituciones y sistemas de informacion
Instituciones y sistemas de informacionInstituciones y sistemas de informacion
Instituciones y sistemas de informacion
 
Presentación1.ppt de stadistikkkkk
Presentación1.ppt de stadistikkkkkPresentación1.ppt de stadistikkkkk
Presentación1.ppt de stadistikkkkk
 
INTRODUCCION A LA CONTABILIDAD
INTRODUCCION A LA CONTABILIDADINTRODUCCION A LA CONTABILIDAD
INTRODUCCION A LA CONTABILIDAD
 
Derecho al olvido 2014
Derecho al olvido 2014Derecho al olvido 2014
Derecho al olvido 2014
 
Entornos colaborativos en proyectos de investigación
Entornos colaborativos en proyectos de investigaciónEntornos colaborativos en proyectos de investigación
Entornos colaborativos en proyectos de investigación
 
Cypress removal services
Cypress removal servicesCypress removal services
Cypress removal services
 
Rubrica de -evaualuación- azucena-rodriguez-rivera
Rubrica  de -evaualuación- azucena-rodriguez-riveraRubrica  de -evaualuación- azucena-rodriguez-rivera
Rubrica de -evaualuación- azucena-rodriguez-rivera
 
CV for Peter Kølgaard
CV for Peter KølgaardCV for Peter Kølgaard
CV for Peter Kølgaard
 
ТПЛМ 1052 Логістика в системі управління організацією. О.М.Горяїнов (2009)
ТПЛМ 1052 Логістика в системі управління організацією. О.М.Горяїнов (2009)ТПЛМ 1052 Логістика в системі управління організацією. О.М.Горяїнов (2009)
ТПЛМ 1052 Логістика в системі управління організацією. О.М.Горяїнов (2009)
 
CRM, Vende más y sé más eficiente con un CRM
CRM, Vende más y sé más eficiente con un CRMCRM, Vende más y sé más eficiente con un CRM
CRM, Vende más y sé más eficiente con un CRM
 
Foros roberto carloscontreras
Foros roberto carloscontrerasForos roberto carloscontreras
Foros roberto carloscontreras
 
VIH-SIDA
VIH-SIDAVIH-SIDA
VIH-SIDA
 
JAYU Compay Profile (English)
JAYU Compay Profile (English)JAYU Compay Profile (English)
JAYU Compay Profile (English)
 
El modernismo
El modernismoEl modernismo
El modernismo
 
POTESTAD TRIBUTARIA
POTESTAD TRIBUTARIAPOTESTAD TRIBUTARIA
POTESTAD TRIBUTARIA
 
Kanpur Plastic Ltd.
Kanpur Plastic Ltd.Kanpur Plastic Ltd.
Kanpur Plastic Ltd.
 
Desmontando a lavadora_electrolux_ltr_15
Desmontando a lavadora_electrolux_ltr_15Desmontando a lavadora_electrolux_ltr_15
Desmontando a lavadora_electrolux_ltr_15
 

Similar a Estructuras de datos recursivas y lineales

Similar a Estructuras de datos recursivas y lineales (20)

Apuntadores y listas
Apuntadores y listasApuntadores y listas
Apuntadores y listas
 
Tarea 3
Tarea 3Tarea 3
Tarea 3
 
Tad lista, pilas y colas
Tad lista, pilas y colasTad lista, pilas y colas
Tad lista, pilas y colas
 
Tad lista, pilas y colas
Tad lista, pilas y colasTad lista, pilas y colas
Tad lista, pilas y colas
 
Tarea 3
Tarea 3Tarea 3
Tarea 3
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
Modelo Dinamico
Modelo DinamicoModelo Dinamico
Modelo Dinamico
 
Estructura de datos unidad 2 y 3
Estructura de datos unidad 2 y 3Estructura de datos unidad 2 y 3
Estructura de datos unidad 2 y 3
 
Listas pilascolas edward.mejia-10-1314
Listas pilascolas edward.mejia-10-1314Listas pilascolas edward.mejia-10-1314
Listas pilascolas edward.mejia-10-1314
 
recursividad
recursividadrecursividad
recursividad
 
Recursividad
RecursividadRecursividad
Recursividad
 
Tutorial C++
Tutorial C++Tutorial C++
Tutorial C++
 
Tutorial c (3)
Tutorial c (3)Tutorial c (3)
Tutorial c (3)
 
Tutorial C++
Tutorial C++Tutorial C++
Tutorial C++
 
Nelson Villacres listas
Nelson Villacres listasNelson Villacres listas
Nelson Villacres listas
 
Funciones en lenguage c
Funciones en lenguage cFunciones en lenguage c
Funciones en lenguage c
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
Lista,pilas y columnas
Lista,pilas y columnasLista,pilas y columnas
Lista,pilas y columnas
 
Recursividad
RecursividadRecursividad
Recursividad
 
Aplicaciòn de las estructuras de datos
Aplicaciòn de las estructuras de datosAplicaciòn de las estructuras de datos
Aplicaciòn de las estructuras de datos
 

Más de efrain_rap

Analisis de los algoritmos de la unidad 7
Analisis de los algoritmos de la unidad  7Analisis de los algoritmos de la unidad  7
Analisis de los algoritmos de la unidad 7efrain_rap
 
Diapositivas unidad 6
Diapositivas unidad 6Diapositivas unidad 6
Diapositivas unidad 6efrain_rap
 
Metodos de ordenamiento unidad 5
Metodos de ordenamiento unidad 5Metodos de ordenamiento unidad 5
Metodos de ordenamiento unidad 5efrain_rap
 
Estructuras no lineales de la unidad 4
Estructuras no lineales de la unidad 4Estructuras no lineales de la unidad 4
Estructuras no lineales de la unidad 4efrain_rap
 
evidencias de la unidad 3
evidencias de la unidad 3evidencias de la unidad 3
evidencias de la unidad 3efrain_rap
 
Presentación1 para niels
Presentación1 para nielsPresentación1 para niels
Presentación1 para nielsefrain_rap
 

Más de efrain_rap (6)

Analisis de los algoritmos de la unidad 7
Analisis de los algoritmos de la unidad  7Analisis de los algoritmos de la unidad  7
Analisis de los algoritmos de la unidad 7
 
Diapositivas unidad 6
Diapositivas unidad 6Diapositivas unidad 6
Diapositivas unidad 6
 
Metodos de ordenamiento unidad 5
Metodos de ordenamiento unidad 5Metodos de ordenamiento unidad 5
Metodos de ordenamiento unidad 5
 
Estructuras no lineales de la unidad 4
Estructuras no lineales de la unidad 4Estructuras no lineales de la unidad 4
Estructuras no lineales de la unidad 4
 
evidencias de la unidad 3
evidencias de la unidad 3evidencias de la unidad 3
evidencias de la unidad 3
 
Presentación1 para niels
Presentación1 para nielsPresentación1 para niels
Presentación1 para niels
 

Último

Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptELENA GALLARDO PAÚLS
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxMapyMerma1
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfromanmillans
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
Marketing y servicios 2ºBTP Cocina DGETP
Marketing y servicios 2ºBTP Cocina DGETPMarketing y servicios 2ºBTP Cocina DGETP
Marketing y servicios 2ºBTP Cocina DGETPANEP - DETP
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPELaura Chacón
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...JAVIER SOLIS NOYOLA
 

Último (20)

Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
 
Unidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDIUnidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDI
 
Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptx
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
Marketing y servicios 2ºBTP Cocina DGETP
Marketing y servicios 2ºBTP Cocina DGETPMarketing y servicios 2ºBTP Cocina DGETP
Marketing y servicios 2ºBTP Cocina DGETP
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPE
 
La Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdfLa Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdf
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
 

Estructuras de datos recursivas y lineales

  • 1. INSTITUTO TECNOLÓGICO SUPERIOR DE FELIPE CARRILLO PUERTO. MATERIA: Estructura De Datos TIPO: Presentación (Evidencias Unidad 2 y 3) DOCENTE: MTL. Niels Henryk Aranda Cuevas ALUMNO: Efrain Antonio Poot Tuz CARRERA: Ingeniería En Sistemas Computacionales TURNO: Matutino AULA: J-3 GRUPO: “A” TERCER SEMESTRE LUGAR Y FECHA: Felipe Carrillo Puerto, Q.Roo, 10/11/2014
  • 2. En general, los prUognriadmaads c2o.n Rreecucrusirvsidiavdidesatádn estructurados de tal modo que las funciones se llaman unas a otras de una manera disciplinada y jerárquica. Para algunos tipos de problemas, es útil tener funciones que se llaman a sí mismas. Una función recursiva es una función que se llama a sí misma de manera directa o indirecta a través de otra función. La recursividad es un tema complejo que se imparte en cursos de computación largos y avanzados. Primero, consideraremos la recursividad de manera conceptual, y posteriormente explicaremos algunos programas que contienen funciones recursivas. Los métodos para solucionar problemas por medio de la recursividad tienen algunos elementos en común. Se llama a una función recursiva para resolver un problema. La función en realidad sólo sabe cómo resolver el problema para el caso más sencillo, o caso base. Si se invoca a la función desde el caso base, ésta simplemente devuelve un resultado. Si se llama a la función desde un problema más complejo, la función divide el problema en dos partes conceptuales. Una parte que la función sabe cómo resolver y una parte que la función no sabe cómo resolver.
  • 3. Para hacer posible la recursividad, la segunda parte debe replantear el problema original, pero con una versión ligeramente más sencilla o más pequeña que el problema original. Una función llama a una nueva copia de sí misma para que trabaje con el problema más pequeño, a esto se le denomina llamada recursiva o también paso recursivo. El paso recursivo también incluye la palabra reservada return, debido a que su resultado se combinará con la parte del problema que la función sabe cómo resolver para formar un resultado que se pase a la llamada original a la función, posiblemente. El paso recursivo se ejecuta mientras la llamada a la función original permanezca abierta, es decir, mientras no termine su ejecución. El paso recursivo puede generar muchas más de estas llamadas recursivas, mientras la función continúa dividiendo cada problema en dos partes conceptuales. Para que la recursividad termine, cada vez que la función se invoca a sí misma con una versión del problema ligeramente más sencilla que el problema original, esta secuencia de problemas más pequeños debe converger en algún momento con el caso base.
  • 4. En ese punto, la función reconoce el caso base, devuelve el resultado a la copia previa de la función, y se presenta una secuencia de resultados que se mueve hacia arriba, hasta que la función original devuelve el resultado final a main . Se necesita bastante práctica en la escritura de programas recursivos, antes de que el proceso logre obtener una apariencia natural. Para ejemplificar estos conceptos, escribamos un programa recursivo que realice un cálculo matemático muy popular. El factorial de un entero no negativo n, se escribe n! (y se pronuncia “n factorial”), es el producto n (n - 1) (n - 2)… 1 donde 1! es igual a 1, y 0! se define como 1. Por ejemplo, 5! Es el producto 5*4*3*2*1, el cual es igual a 120. El factorial de un entero, numero, 1 mayor o igual que 0, se puede calcular de manera iterativa (no recursiva) por medio de una instrucción for de la siguiente manera: Factorial = 1; For (contador = numero; contador >= 1; contador--) Factorial *= contador;
  • 5. Se puede llegar a una definición recursiva de la función factorial mediante la siguiente relación: n! = n (n - 1)! Por ejemplo, podemos ver claramente que 5! es lo mismo que 5*4!, como lo mostramos a continuación: 5! = 5 4 3 2 1 5! = 5 (4 3 2 1) 5! = 5 (4!) La siguiente figura muestra los valores devueltos por cada llamada recursiva a su llamada original, hasta que se calcula y se devuelve el valor final.
  • 6. Listas Ligadas Una lista ligada Unidad es una 3. Estructuras colección lineal Lineales de estructuras autorreferenciadas, llamadas nodos, conectadas por medio de ligas apuntador; de aquí el término lista “ligada”. Se accede a una lista ligada a través de un apuntador al primer nodo de la lista. Se accede a los nodos subsiguientes a través del miembro liga almacenado en cada nodo. Por convención, el apuntador liga del último nodo de una lista se establece en NULL, para marcar el final de la lista. Los datos se almacenan en una lista ligada dinámicamente; conforme es necesario, se crea cada nodo. Un nodo puede contener datos de cualquier tipo, incluso otros objetos struct . Las pilas y las colas también son estructuras de datos lineales y, como veremos, son versiones restringidas de listas ligadas. Los árboles son estructuras de datos no lineales. Las listas de datos pueden almacenarse en arreglos, pero las listas ligadas proporcionan muchas ventajas. Una lista ligada es adecuada, cuando el número de elementos a representarse en la estructura de datos es impredecible. Las listas ligadas son dinámicas, por lo que la longitud de una lista puede
  • 7. Sin embargo, el tamaño de un arreglo no puede alterarse una vez que se asignó la memoria. Los arreglos pueden llenarse. Las listas ligadas sólo se llenan cuando el sistema tiene insuficiente memoria para satisfacer los requerimientos de asignación dinámica de almacenamiento. Las listas ligadas pueden mantenerse ordenadas, si se inserta cada nuevo elemento en el punto adecuado de la lista. Los nodos de una lista ligada por lo general no se almacenan contiguamente en memoria. Sin embargo, de manera lógica, los nodos de una lista ligada aparentan estar contiguos.
  • 8. Pilas Una pila es una versión restringida de una lista ligada. Los nuevos nodos pueden añadirse y eliminarse de una pila sólo en la cima. Por esta razón, a una pila se le conoce como una estructura de datos última en entrar, primera en salir (UEPS). Se hace referencia a una pila por medio de un apuntador hacia el elemento en la cima de la pila. El miembro liga del último nodo de la pila se establece en NULL para indicar el fondo de la pila. La figura muestra una pila con diversos nodos. Observe que las pilas y las listas ligadas se representan de manera idéntica. La diferencia entre las pilas y las listas ligadas es que las inserciones y las eliminaciones pueden ocurrir en cualquier parte de la lista ligada, mientras que en una pila, dichas operaciones se realizan sólo en la cima de ésta. Las funciones básicas que se utilizan para manipular una pila son empujar y sacar. La función empujar crea un nuevo nodo y lo coloca en la cima de la pila. La función sacar elimina un nodo de la cima de la pila, libera la memoria que estaba asignada al nodo
  • 9. Colas Otra estructura de datos común es la cola. Una cola es parecida a una fila para pagar en un supermercado; a la primera persona de la fila se le atiende primero, y los demás clientes entran a la fila sólo al final de ella, y esperan a que se les atienda. Los nodos de una cola se eliminan sólo de la cabeza de la cola, y se insertan sólo en los talones de ella. Por esta razón, a una cola se le conoce como una estructura de datos primera en entrar, primera en salir (PEPS). Las operaciones de insertar y eliminar se conocen como agregar en la cola y retirar de la cola. Las colas tienen muchas aplicaciones en sistemas de cómputo. Muchas computadoras sólo tienen un procesador, por lo que sólo es posible atender a un usuario a la vez. Las entradas de los demás usuarios se colocan en una cola. Cada entrada avanza gradualmente desde el frente de la cola, conforme los usuarios reciben servicio. La entrada del frente de la cola es la siguiente en recibir servicio.
  • 10. CONCLUSIÓN GENERAL Durante la segunda unidad aprendimos a utilizar la recursividad, y como practica realizamos dos programas, el primero realizaba el factorial de un numero dado y la segunda realizaba la sucesión de Fibonacci. En forma general los programas están estructurados de tal modo que las funciones se llaman unas a otras de una manera disciplinada y jerárquica. Para algunos tipos de problemas, es útil tener funciones que se llaman a sí mismas. Como vimos una función recursiva es una función que se llama a sí misma de manera directa o indirecta a través de otra función. En la tercera unidad aprendimos acerca de las listas simple y doblemente ligadas, vimos como declarar, crear, eliminar, buscar y recorrer un nodo en ellas. Ahora sabemos que una lista ligada es una colección lineal de estructuras autorreferenciadas, llamadas nodos conectados por medio de ligas apuntador y que para acceder a ella utilizamos apuntadores. Además, aprendimos a diferenciar la lista simple de la doblemente ligada al momento de programar. También utilizamos las colas las cuales son estructuras de datos Peps (Primeras entrar, Primeras en salir, los nuevos nodos pueden añadirse y eliminarse sólo en la cima). y las pilas las cuales son estructuras de datos Ueps (Ultimas en entrar, Primera en salir, los nuevos nodos pueden añadirse en los talones y eliminarse en la cabeza).