SlideShare una empresa de Scribd logo
1 de 18
UNIVERSIDAD DE PANAMA
Facultad de Informática, Electrónica y Comunicación.
INTEGRANTES:
• YESENIA CAMARENA
• GÉNESIS JIMÉNEZ
• MARCOS LUCERO
INDICE
 Extructuras dinamicas no lineales
 Estructuras no lineales
 Aplicciones
 Recorrido de arboles
 Formas de recorrido
 Recursividad
 Programacion recursiva
 Procedimiento de recurso
 Pseudocodigo de la función factorial.
INTRODUCCION
En el siguiente tema, hablaremos de las estructuras de datos no lineales también llamada
arboles. Estaremos dando una introducción al análisis de la eficiencia de algoritmos.
El estudio de las estructuras de datos se hace desde diversos puntos de vista, diseño de
estructura en respuesta a necesidades especificas, encapsulamiento de los tipos de datos
usándolos en base a su especificación y no a su implementación y estudio de los
principales tipos, tanto elementos y no elementales, dividiendo estos últimos en
estructuras lineales o arboles gráficos.
Analizándolos primero desde el punto de vista teórico sin perder de vista su aplicaciones
graficas.
Estructuras Dinámicas No Lineales
Son aquellas que ocupan bloques de memoria no continuos/lineales. Para lidiar con el
problema de la fragmentación y, sobre todo del crecimiento dinámico. Los bloques deben
estar enlazados unos con otros para poder “navegar” por la estructura, es decir, tener
acceso a otro(s) dato(s) a partir de la actual.
Estructuras no lineales
Un árbol es una estructura de datos ramificada (no lineal) que puede representarse como
un conjunto de nodos enlazados entre sí por medio de ramas. La información contenida
en un nodo puede ser de cualquier tipo simple o estructura de datos.
Aplicaciones
Los árboles tienen una gran variedad de aplicaciones. Por ejemplo, se pueden utilizar para
representar fórmulas matemáticas, para organizar adecuadamente la información, para
construir un árbol genealógico, en la toma de decisiones, para el análisis de circuitos
eléctricos y para numerar los capítulos y secciones de un libro.
Las aplicaciones de los árboles binarios son muy variadas ya que se les puede utilizar para
representar una estructura en la cual es posible tomar decisiones con dos opciones en
distintos puntos.
RECORRIDO DE ARBOLES
se refiere al proceso de visitar de una manera sistemática, exactamente una
vez, cada nodo en una estructura de datos de árbol (examinando y/o
actualizando los datos en los nodos). Tales recorridos están clasificados por
el orden en el cual son visitados los nodos. Los siguientes algoritmos son
descritos para un árbol binario , pero también pueden ser generalizados a
otros árboles.
FORMAS DE RECORRIDOS
RECORRIDOS EN ÁRBOLES BINARIOS:
en una estructura de datos lineal sólo es posible un tipo de recorrido en dos sentidos
distintos:
 Del primero al último o del último al primero
RECORRIDOS DE PROFUNIDAD
Tres tipos de recorridos dependiendo del orden en que se acceda al subárbol izquierdo, al
subárbol derecho o al nodo raíz
En los tres recorridos se accede antes al hijo izquierdo que al hijo derecho.
La variación reside en el momento en que se recorrerá la información del nodo.
Recorrido preorden u orden previo (RID, raíz-hijo izquierdo-hijo derecho).
Recorrido inorden u orden simétrico (IRD, hijo izquierdo-raíz-hijo derecho).
Recorrido postor den u orden posterior (IDR, hijo izquierdo- hijo derecho-raíz).
 Recorridos en profundidad
 Recorrido preorden.
 Por cada elemento no vacío:
 Se accede primero al nodo raíz.
 Se accede al hijo izquierdo en preorden.
 Se accede al hijo derecho en preorden.
 Recorrido inorden.
 Por cada elemento no vacío:
 Se accede al hijo izquierdo en inorden.
 Se accede primero al nodo raíz.
 Se accede al hijo derecho en inorden.
 Recorrido postorden.
 Por cada elemento no vacío:
 Se accede al hijo izquierdo en postorden.
 Se accede al hijo derecho en postorden.
 Se accede primero al nodo raíz.
RECURSIVIDAD
Es un concepto bastante importante y bien básico de la programación. Sin
embargo es bastante difícil de asimilar al principio. Se supone que es algo
que se va entendiendo con práctica y tiempo.
Es una forma mucho más natural que la iteración de expresar un gran
número de funciones y procedimientos.
PROGRAMACION RECURSIVA
Es mucho mas difícil desarrollar una solución recursiva en un lenguaje
determinado para resolver un problema especifico cuando no se tiene un
algoritmo. No es solo el programa sino las definiciones originales y los
algoritmos los que deben desarrollarse. En general, cuando encaramos la
tarea de escribir un programa para resolver un problema no hay razón para
buscar una solución recursiva. La mayoría de los problemas pueden
resolverse de una manera directa usando métodos no recursivos. Sin
embargo, otros pueden resolverse de una manera mas lógica y elegante
mediante la recursión.
 Ejemplo PARA CALCULAR 0,1,2En matemáticas, la sucesión de Fibonacci es la siguiente sucesión infinita de
números naturales: 0,1,1,2,3,5,8,13,21,34,55,89,144...
El primer elemento es 0, el segundo es 1 y cada elemento restante es la suma de los dos anteriores:
0 si i = 0
fi = 1 si i = 1 f(i-2)+f(i-1) si i > 1
A cada elemento de esta sucesión se le llama número de Fibonacci. Esta sucesión fue descrita en
Europa por Leonardo de Pisa, matemático italiano del siglo XIII también conocido como Fibonacci.
El código en C++ que representa la función Fibonacci es el siguiente:
 #include <iostream>
 #include <cstdlib>
 using namespace std;
 int Fibonacci(int n);
PROGRAMACION RECURSIVA
int main(){
int valor;
system("clear");
cout << "Introduzca numero a calcular: ";
cin >> valor;
cout << "nEl Fibonacci de " << valor << " es: " << Fibonacci(valor) << endl;
return 0;
}
int Fibonacci(int n){ if (n < 0){
cout << “No existe Fibonacci para numeros negativos.”;
} else if (n == 0) {
return 0;
} else if (n == 1) {
return;
}else
return Fibonacci(n-2) + Fibonacci(n -1);
PROCEDIMIENTOS RECURSIVO
es aquél que se llama a sí mismo. En general, esta no suele ser la manera
más eficaz de escribir código en Visual Basic. En el siguiente procedimiento
se utiliza la recursividad para calcular el factorial de su argumento original.
 Se puede utilizar el siguiente método para escribir cualquier rutina recursiva.
 Primero obtener una función exacta del problema a resolver.
 A continuación, determinar el tamaño del problema completo que hay que resolver, este
tamaño determina los valores de los parámetros en la llamada inicial al procedimiento o
función.
 Resolver el caso base en el que el problema puede expresarse no recursivamente, esto
asegura una respuesta afirmativa a la pregunta base.
 Por último, resolver el caso general correctamente en términos de un caso más pequeño
del mismo problema, es decir una respuesta afirmativa a las preguntas 2 y 3 del método
de las 3 preguntas.
El siguiente ejemplo es sobre el uso de recursividad
A) FUNCIÓN FACTORIAL
El Producto de los enteros positivos, desde 1 hasta N se llama FACTORIAL, y normalmente se denota por N!
Por ejemplo N!=1X2X3... (N-2)(N-1)N
También podemos decir que 0! = 1, esto significa que cero factorial es igual a 1, entonces para todos los
valores enteros no negativos la función está bien definida.
Esto queda como resultado: N!=N(N-1)!
De acuerdo con esto queda entonces de la siguiente forma:
si N=0 entonces N!= 1, quiere decir que si los valores de factorial son 0 o 1 el resultado da 1
si N>0 entonces N!(N-1)!
Se observa que esta definición es recursiva, ya que se llama así misma la función factorial para obtener su
resultado.
El siguiente es el pseudocódigo de la función factorial
Pseudocodigo de la función factorial.
FUNCION FACTORIAL(n)
INICIO
Si n= 0 entonces
FACTORIAL =1
Sino
FACTORIAL= n*FACTORIAL (n-1)
FinSi
Fin Funcion
Programa en C# de función factorial
BIBLIOGRAFIA
• Robotica.uv.es
• https://unload.wikimedia.org
• Decsai.urg.es
• Interactivepython.org

Más contenido relacionado

La actualidad más candente

Estructuras de datos y algoritmos
Estructuras de datos y algoritmosEstructuras de datos y algoritmos
Estructuras de datos y algoritmosJessica Lopez
 
Los Algoritmos En La Enseñanza De La Matemáticas
Los   Algoritmos  En La  Enseñanza  De La  MatemáticasLos   Algoritmos  En La  Enseñanza  De La  Matemáticas
Los Algoritmos En La Enseñanza De La Matemáticasguest21cdf17
 
Algebrabooleana 131103103012-phpapp02
Algebrabooleana 131103103012-phpapp02Algebrabooleana 131103103012-phpapp02
Algebrabooleana 131103103012-phpapp02Sebastian Hernandez
 
Computacion Grupo 2
Computacion Grupo 2Computacion Grupo 2
Computacion Grupo 2josued097
 
inteligencia artificial
inteligencia artificial inteligencia artificial
inteligencia artificial Isaias Ventura
 
Capitulo i modelos_matematicos_y_errores,_parte_1[1]
Capitulo i modelos_matematicos_y_errores,_parte_1[1]Capitulo i modelos_matematicos_y_errores,_parte_1[1]
Capitulo i modelos_matematicos_y_errores,_parte_1[1]chinop7
 
Analisis numerico revista
Analisis numerico revistaAnalisis numerico revista
Analisis numerico revistagiovanniguerra8
 
Algebra junior rico2
Algebra junior rico2Algebra junior rico2
Algebra junior rico2JuniorRico1
 
Pseudocódigos, jocelyn esparza
Pseudocódigos, jocelyn esparzaPseudocódigos, jocelyn esparza
Pseudocódigos, jocelyn esparzaJocelyn Esparza
 
Secuenciasinteraccionesbasicas
SecuenciasinteraccionesbasicasSecuenciasinteraccionesbasicas
SecuenciasinteraccionesbasicasJuan Sanabria
 
Jose repelin cuchara apellido tenedor3
Jose repelin cuchara apellido tenedor3Jose repelin cuchara apellido tenedor3
Jose repelin cuchara apellido tenedor3Sebastian Franco
 
Algoritmo , MATEMÁTICA
Algoritmo ,  MATEMÁTICAAlgoritmo ,  MATEMÁTICA
Algoritmo , MATEMÁTICAagustinc3333
 
Variables y tipos de datos - fundamentos de la programación
Variables y tipos de datos -  fundamentos de la programaciónVariables y tipos de datos -  fundamentos de la programación
Variables y tipos de datos - fundamentos de la programaciónDesarrolloWeb.com
 
02. dn contenido
02. dn contenido02. dn contenido
02. dn contenidoOlverPea
 

La actualidad más candente (17)

Laboratorio#4
Laboratorio#4Laboratorio#4
Laboratorio#4
 
Estructuras de datos y algoritmos
Estructuras de datos y algoritmosEstructuras de datos y algoritmos
Estructuras de datos y algoritmos
 
Los Algoritmos En La Enseñanza De La Matemáticas
Los   Algoritmos  En La  Enseñanza  De La  MatemáticasLos   Algoritmos  En La  Enseñanza  De La  Matemáticas
Los Algoritmos En La Enseñanza De La Matemáticas
 
Algebrabooleana 131103103012-phpapp02
Algebrabooleana 131103103012-phpapp02Algebrabooleana 131103103012-phpapp02
Algebrabooleana 131103103012-phpapp02
 
Computacion Grupo 2
Computacion Grupo 2Computacion Grupo 2
Computacion Grupo 2
 
inteligencia artificial
inteligencia artificial inteligencia artificial
inteligencia artificial
 
Capitulo i modelos_matematicos_y_errores,_parte_1[1]
Capitulo i modelos_matematicos_y_errores,_parte_1[1]Capitulo i modelos_matematicos_y_errores,_parte_1[1]
Capitulo i modelos_matematicos_y_errores,_parte_1[1]
 
Analisis numerico revista
Analisis numerico revistaAnalisis numerico revista
Analisis numerico revista
 
Algebra junior rico2
Algebra junior rico2Algebra junior rico2
Algebra junior rico2
 
Pseudocódigos, jocelyn esparza
Pseudocódigos, jocelyn esparzaPseudocódigos, jocelyn esparza
Pseudocódigos, jocelyn esparza
 
Secuenciasinteraccionesbasicas
SecuenciasinteraccionesbasicasSecuenciasinteraccionesbasicas
Secuenciasinteraccionesbasicas
 
Jose repelin cuchara apellido tenedor3
Jose repelin cuchara apellido tenedor3Jose repelin cuchara apellido tenedor3
Jose repelin cuchara apellido tenedor3
 
Algoritmo , MATEMÁTICA
Algoritmo ,  MATEMÁTICAAlgoritmo ,  MATEMÁTICA
Algoritmo , MATEMÁTICA
 
Variables y tipos de datos - fundamentos de la programación
Variables y tipos de datos -  fundamentos de la programaciónVariables y tipos de datos -  fundamentos de la programación
Variables y tipos de datos - fundamentos de la programación
 
Tarea 6
Tarea 6Tarea 6
Tarea 6
 
Tarea 6
Tarea 6Tarea 6
Tarea 6
 
02. dn contenido
02. dn contenido02. dn contenido
02. dn contenido
 

Similar a EstructurasNoLinealesUP

Apuntes
ApuntesApuntes
ApuntesIESCH
 
Estructura datos unidad-2_y_3
Estructura datos unidad-2_y_3Estructura datos unidad-2_y_3
Estructura datos unidad-2_y_3marioUitzil
 
Estructura datos unidad-2_y_3
Estructura datos unidad-2_y_3Estructura datos unidad-2_y_3
Estructura datos unidad-2_y_3Jhon_Marjorie
 
Aplicación Multimedia #10 álgebra lineal. NÚMEROS COMPLEJOS. Actividad de apr...
Aplicación Multimedia #10 álgebra lineal. NÚMEROS COMPLEJOS. Actividad de apr...Aplicación Multimedia #10 álgebra lineal. NÚMEROS COMPLEJOS. Actividad de apr...
Aplicación Multimedia #10 álgebra lineal. NÚMEROS COMPLEJOS. Actividad de apr...JAVIER SOLIS NOYOLA
 
DIAPOSITIVAS DE LA UNIDAD 3
DIAPOSITIVAS DE LA UNIDAD 3DIAPOSITIVAS DE LA UNIDAD 3
DIAPOSITIVAS DE LA UNIDAD 3efrain_rap
 
1raclasedemtodosnumricos-150903221928-lva1-app6892 (1).pptx
1raclasedemtodosnumricos-150903221928-lva1-app6892 (1).pptx1raclasedemtodosnumricos-150903221928-lva1-app6892 (1).pptx
1raclasedemtodosnumricos-150903221928-lva1-app6892 (1).pptxYeshuaCamposChvez
 
Ordenacion y busqueda
Ordenacion y busquedaOrdenacion y busqueda
Ordenacion y busquedaIrvingMoran4
 
Introducción a los Métodos Numéricos
Introducción a los Métodos NuméricosIntroducción a los Métodos Numéricos
Introducción a los Métodos NuméricosJoanny Ibarbia Pardo
 
Proyecto final de curso
Proyecto final de cursoProyecto final de curso
Proyecto final de cursoAndreaPaz124
 
Tema22citicen
Tema22citicenTema22citicen
Tema22citicenmaiz28
 
Tema22citicen 110426005651-phpapp02
Tema22citicen 110426005651-phpapp02Tema22citicen 110426005651-phpapp02
Tema22citicen 110426005651-phpapp02Movb Glez
 
Actividad proyecto algoritmia_de_ignacio_matilla_iraola
Actividad proyecto algoritmia_de_ignacio_matilla_iraolaActividad proyecto algoritmia_de_ignacio_matilla_iraola
Actividad proyecto algoritmia_de_ignacio_matilla_iraolaImatilla
 

Similar a EstructurasNoLinealesUP (20)

Recursividad
RecursividadRecursividad
Recursividad
 
Computacion asignacion 3
Computacion asignacion 3Computacion asignacion 3
Computacion asignacion 3
 
Unidad 2 & 3 estructura datos
Unidad 2 & 3 estructura datosUnidad 2 & 3 estructura datos
Unidad 2 & 3 estructura datos
 
Apuntes
ApuntesApuntes
Apuntes
 
Apuntes
ApuntesApuntes
Apuntes
 
Estructura datos unidad-2_y_3
Estructura datos unidad-2_y_3Estructura datos unidad-2_y_3
Estructura datos unidad-2_y_3
 
Apuntes
ApuntesApuntes
Apuntes
 
Base de datos
Base de datosBase de datos
Base de datos
 
Estructura datos unidad-2_y_3
Estructura datos unidad-2_y_3Estructura datos unidad-2_y_3
Estructura datos unidad-2_y_3
 
Aplicación Multimedia #10 álgebra lineal. NÚMEROS COMPLEJOS. Actividad de apr...
Aplicación Multimedia #10 álgebra lineal. NÚMEROS COMPLEJOS. Actividad de apr...Aplicación Multimedia #10 álgebra lineal. NÚMEROS COMPLEJOS. Actividad de apr...
Aplicación Multimedia #10 álgebra lineal. NÚMEROS COMPLEJOS. Actividad de apr...
 
DIAPOSITIVAS DE LA UNIDAD 3
DIAPOSITIVAS DE LA UNIDAD 3DIAPOSITIVAS DE LA UNIDAD 3
DIAPOSITIVAS DE LA UNIDAD 3
 
1raclasedemtodosnumricos-150903221928-lva1-app6892 (1).pptx
1raclasedemtodosnumricos-150903221928-lva1-app6892 (1).pptx1raclasedemtodosnumricos-150903221928-lva1-app6892 (1).pptx
1raclasedemtodosnumricos-150903221928-lva1-app6892 (1).pptx
 
Ordenacion y busqueda
Ordenacion y busquedaOrdenacion y busqueda
Ordenacion y busqueda
 
Introducción a los Métodos Numéricos
Introducción a los Métodos NuméricosIntroducción a los Métodos Numéricos
Introducción a los Métodos Numéricos
 
Recursividad
RecursividadRecursividad
Recursividad
 
Proyecto final de curso
Proyecto final de cursoProyecto final de curso
Proyecto final de curso
 
Tema22citicen
Tema22citicenTema22citicen
Tema22citicen
 
Tema22citicen 110426005651-phpapp02
Tema22citicen 110426005651-phpapp02Tema22citicen 110426005651-phpapp02
Tema22citicen 110426005651-phpapp02
 
Actividad proyecto algoritmia_de_ignacio_matilla_iraola
Actividad proyecto algoritmia_de_ignacio_matilla_iraolaActividad proyecto algoritmia_de_ignacio_matilla_iraola
Actividad proyecto algoritmia_de_ignacio_matilla_iraola
 
Presentación1
Presentación1Presentación1
Presentación1
 

Último

International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 

Último (13)

International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 

EstructurasNoLinealesUP

  • 1. UNIVERSIDAD DE PANAMA Facultad de Informática, Electrónica y Comunicación. INTEGRANTES: • YESENIA CAMARENA • GÉNESIS JIMÉNEZ • MARCOS LUCERO
  • 2. INDICE  Extructuras dinamicas no lineales  Estructuras no lineales  Aplicciones  Recorrido de arboles  Formas de recorrido  Recursividad  Programacion recursiva  Procedimiento de recurso  Pseudocodigo de la función factorial.
  • 3. INTRODUCCION En el siguiente tema, hablaremos de las estructuras de datos no lineales también llamada arboles. Estaremos dando una introducción al análisis de la eficiencia de algoritmos. El estudio de las estructuras de datos se hace desde diversos puntos de vista, diseño de estructura en respuesta a necesidades especificas, encapsulamiento de los tipos de datos usándolos en base a su especificación y no a su implementación y estudio de los principales tipos, tanto elementos y no elementales, dividiendo estos últimos en estructuras lineales o arboles gráficos. Analizándolos primero desde el punto de vista teórico sin perder de vista su aplicaciones graficas.
  • 4. Estructuras Dinámicas No Lineales Son aquellas que ocupan bloques de memoria no continuos/lineales. Para lidiar con el problema de la fragmentación y, sobre todo del crecimiento dinámico. Los bloques deben estar enlazados unos con otros para poder “navegar” por la estructura, es decir, tener acceso a otro(s) dato(s) a partir de la actual.
  • 5. Estructuras no lineales Un árbol es una estructura de datos ramificada (no lineal) que puede representarse como un conjunto de nodos enlazados entre sí por medio de ramas. La información contenida en un nodo puede ser de cualquier tipo simple o estructura de datos.
  • 6. Aplicaciones Los árboles tienen una gran variedad de aplicaciones. Por ejemplo, se pueden utilizar para representar fórmulas matemáticas, para organizar adecuadamente la información, para construir un árbol genealógico, en la toma de decisiones, para el análisis de circuitos eléctricos y para numerar los capítulos y secciones de un libro. Las aplicaciones de los árboles binarios son muy variadas ya que se les puede utilizar para representar una estructura en la cual es posible tomar decisiones con dos opciones en distintos puntos.
  • 7. RECORRIDO DE ARBOLES se refiere al proceso de visitar de una manera sistemática, exactamente una vez, cada nodo en una estructura de datos de árbol (examinando y/o actualizando los datos en los nodos). Tales recorridos están clasificados por el orden en el cual son visitados los nodos. Los siguientes algoritmos son descritos para un árbol binario , pero también pueden ser generalizados a otros árboles.
  • 8. FORMAS DE RECORRIDOS RECORRIDOS EN ÁRBOLES BINARIOS: en una estructura de datos lineal sólo es posible un tipo de recorrido en dos sentidos distintos:  Del primero al último o del último al primero RECORRIDOS DE PROFUNIDAD Tres tipos de recorridos dependiendo del orden en que se acceda al subárbol izquierdo, al subárbol derecho o al nodo raíz En los tres recorridos se accede antes al hijo izquierdo que al hijo derecho. La variación reside en el momento en que se recorrerá la información del nodo. Recorrido preorden u orden previo (RID, raíz-hijo izquierdo-hijo derecho). Recorrido inorden u orden simétrico (IRD, hijo izquierdo-raíz-hijo derecho). Recorrido postor den u orden posterior (IDR, hijo izquierdo- hijo derecho-raíz).
  • 9.  Recorridos en profundidad  Recorrido preorden.  Por cada elemento no vacío:  Se accede primero al nodo raíz.  Se accede al hijo izquierdo en preorden.  Se accede al hijo derecho en preorden.  Recorrido inorden.  Por cada elemento no vacío:  Se accede al hijo izquierdo en inorden.  Se accede primero al nodo raíz.  Se accede al hijo derecho en inorden.  Recorrido postorden.  Por cada elemento no vacío:  Se accede al hijo izquierdo en postorden.  Se accede al hijo derecho en postorden.  Se accede primero al nodo raíz.
  • 10. RECURSIVIDAD Es un concepto bastante importante y bien básico de la programación. Sin embargo es bastante difícil de asimilar al principio. Se supone que es algo que se va entendiendo con práctica y tiempo. Es una forma mucho más natural que la iteración de expresar un gran número de funciones y procedimientos.
  • 11. PROGRAMACION RECURSIVA Es mucho mas difícil desarrollar una solución recursiva en un lenguaje determinado para resolver un problema especifico cuando no se tiene un algoritmo. No es solo el programa sino las definiciones originales y los algoritmos los que deben desarrollarse. En general, cuando encaramos la tarea de escribir un programa para resolver un problema no hay razón para buscar una solución recursiva. La mayoría de los problemas pueden resolverse de una manera directa usando métodos no recursivos. Sin embargo, otros pueden resolverse de una manera mas lógica y elegante mediante la recursión.
  • 12.  Ejemplo PARA CALCULAR 0,1,2En matemáticas, la sucesión de Fibonacci es la siguiente sucesión infinita de números naturales: 0,1,1,2,3,5,8,13,21,34,55,89,144... El primer elemento es 0, el segundo es 1 y cada elemento restante es la suma de los dos anteriores: 0 si i = 0 fi = 1 si i = 1 f(i-2)+f(i-1) si i > 1 A cada elemento de esta sucesión se le llama número de Fibonacci. Esta sucesión fue descrita en Europa por Leonardo de Pisa, matemático italiano del siglo XIII también conocido como Fibonacci. El código en C++ que representa la función Fibonacci es el siguiente:  #include <iostream>  #include <cstdlib>  using namespace std;  int Fibonacci(int n);
  • 13. PROGRAMACION RECURSIVA int main(){ int valor; system("clear"); cout << "Introduzca numero a calcular: "; cin >> valor; cout << "nEl Fibonacci de " << valor << " es: " << Fibonacci(valor) << endl; return 0; } int Fibonacci(int n){ if (n < 0){ cout << “No existe Fibonacci para numeros negativos.”; } else if (n == 0) { return 0; } else if (n == 1) { return; }else return Fibonacci(n-2) + Fibonacci(n -1);
  • 14. PROCEDIMIENTOS RECURSIVO es aquél que se llama a sí mismo. En general, esta no suele ser la manera más eficaz de escribir código en Visual Basic. En el siguiente procedimiento se utiliza la recursividad para calcular el factorial de su argumento original.
  • 15.  Se puede utilizar el siguiente método para escribir cualquier rutina recursiva.  Primero obtener una función exacta del problema a resolver.  A continuación, determinar el tamaño del problema completo que hay que resolver, este tamaño determina los valores de los parámetros en la llamada inicial al procedimiento o función.  Resolver el caso base en el que el problema puede expresarse no recursivamente, esto asegura una respuesta afirmativa a la pregunta base.  Por último, resolver el caso general correctamente en términos de un caso más pequeño del mismo problema, es decir una respuesta afirmativa a las preguntas 2 y 3 del método de las 3 preguntas.
  • 16. El siguiente ejemplo es sobre el uso de recursividad A) FUNCIÓN FACTORIAL El Producto de los enteros positivos, desde 1 hasta N se llama FACTORIAL, y normalmente se denota por N! Por ejemplo N!=1X2X3... (N-2)(N-1)N También podemos decir que 0! = 1, esto significa que cero factorial es igual a 1, entonces para todos los valores enteros no negativos la función está bien definida. Esto queda como resultado: N!=N(N-1)! De acuerdo con esto queda entonces de la siguiente forma: si N=0 entonces N!= 1, quiere decir que si los valores de factorial son 0 o 1 el resultado da 1 si N>0 entonces N!(N-1)! Se observa que esta definición es recursiva, ya que se llama así misma la función factorial para obtener su resultado. El siguiente es el pseudocódigo de la función factorial
  • 17. Pseudocodigo de la función factorial. FUNCION FACTORIAL(n) INICIO Si n= 0 entonces FACTORIAL =1 Sino FACTORIAL= n*FACTORIAL (n-1) FinSi Fin Funcion Programa en C# de función factorial