Want to create interactive content? It’s easy in Genially!

Get started free

MAPA MENTAL Análisis de algoritmos y tipos de datos

Carlos Guarneros

Created on September 18, 2024

Start designing with a free template

Discover more than 1500 professional designs like these:

Essential Map

Akihabara Map

Frayer Model

Create Your Story in Spanish

Microcourse: Key Skills for University

Microcourse: Learn Spanish

January School Calendar

Transcript

  • Nombre: Carlos Guarneros Nava
  • Matricula: UXD102330003

análisis de algoritmos y tipos de datos

Notación O-Grande (Big O)

Pila

Concepto de Complejidad Algorítmica

Tiempo de ejecución de un algoritmo

Lorem ipsum dolor sit

Cola

Cpmplejidad en espacio

Lista

TIPOS DE DATOS ABSTRACTOS

Análisis de complejidad temporal

Árbol

Definición del análisis de algoritmos
Lorem ipsum dolor sit

Análisis de los distintos casos

Diccionario (Mapa o Hash)

Análisis asintótico y no asintótico

Datos Primitivos

Los TDA son una herramienta fundamental en la programación que nos permiten modelar conceptos del mundo real de una manera más abstracta y eficiente. Al utilizar TDA, podemos crear programas más claros, modulares y reutilizables.¿Por qué son importantes los TDA?

  • Ocultan la complejidad de la implementación, permitiendo al programador centrarse en la lógica del problema.
  • Los TDA pueden ser reutilizados en diferentes partes de un programa o incluso en diferentes programas.

  • Modularidad: Facilitan la modularización del código, haciendo que sea más fácil de entender y mantener.

.La complejidad espacial de un algoritmo se mide en función del tamaño de la entrada y la cantidad de memoria que utiliza para ejecutarse. Nos muestra cómo aumenta el consumo de memoria del algoritmo a medida que aumenta la cantidad de datos que debe procesar.

Es un concepto fundamental. Podemos evaluar la eficiencia de los algoritmos, tomar decisiones informadas sobre la elección de algoritmos y optimizar el rendimiento de nuestros programas al comprender la notación Big O y los factores que afectan el tiempo de ejecución.T(n)= tiempo de ejecución medido con una función de entrada de tamaño n. “T(n) es O(g(n))” si g(n) acota superiormente a T(n). ​

El análisis asintótico nos permite hacer afirmaciones generales sobre el comportamiento de los algoritmos, mientras que el análisis no asintótico proporciona información más precisa para casos específicos. En la práctica, ambos tipos de análisis son complementarios y se utilizan en conjunto para tomar decisiones informadas sobre la elección y optimización de algoritmos.

La notación Big O es la más utilizada para expresar la complejidad asintótica de un algoritmo. Nos da una idea aproximada de cómo crece el tiempo o el espacio de un algoritmo a medida que el tamaño de la entrada se hace muy grande. Ejemplos de complejidad en notación Big O: O(1): Tiempo constante. El tiempo de ejecución no depende del tamaño de la entrada. O(log n): Tiempo logarítmico. Típico en algoritmos de búsqueda binaria. O(n): Tiempo lineal. Cada elemento se procesa una vez. O(n log n): Tiempo casi lineal. Común en algoritmos de ordenamiento eficientes (quicksort, mergesort).

O(n²): Tiempo cuadrático. Típico en algoritmos de fuerza bruta. O(2^n): Tiempo exponencial. Muy ineficiente para problemas de gran tamaño.

Nos proporciona una visión más completa y precisa del comportamiento de un algoritmo, lo que nos permite tomar decisiones más informadas en el diseño y desarrollo de software. Los Tres Casos Principales: Mejor Caso: Representa el escenario más favorable para el algoritmo. Es decir, el conjunto de entradas que hacen que el algoritmo se ejecute más rápido. Peor Caso: Representa el escenario menos favorable para el algoritmo. Es decir, el conjunto de entradas que hacen que el algoritmo se ejecute más lento. Caso Promedio: Representa el rendimiento esperado del algoritmo considerando todas las posibles entradas y asumiendo una distribución de probabilidad sobre ellas.

Estructura jerárquica donde cada nodo tiene un valor y una colección de nodos hijos. Árbol binario: Cada nodo tiene a lo sumo dos hijos. Árbol de búsqueda binaria (BST): Árbol binario donde el hijo izquierdo es menor y el derecho es mayor que el nodo padre. Árbol AVL: Árbol binario balanceado.