Monografias.com > Computación > Programación
Descargar Imprimir Comentar Ver trabajos relacionados

Algoritmos y estructuras de datos




Enviado por Pablo Turmero



Partes: 1, 2

    Monografias.com

    Observaciones y advertencias:

    Estas transparencias pueden cambiar un poco antes o después de la clase correspondiente a cada tema.

    Las presentaciones NO INCLUYEN las demostraciones que TAMBIEN forman parte del curso y que son dadas en clase. En la mayoría de los casos se incluyen sólo los enunciados de los teoremas. (o sea esto NO es un apunte de la materia!!).

    También puede haber algún ejemplo o resultado que se de en clase y no esté las transparencias.

    .

    Monografias.com

    PROGRAMA

    1. ALGORITMOS:

    Definición de algoritmo. Modelos de computación: modelo RAM, Máquina de Turing. Complejidad, definición, complejidad en el peor caso, en el caso promedio. Algoritmos de tiempo polinomial y no polinomial. Límite inferior. Ejemplo: análisis de algoritmos de ordenamiento. Algoritmos recursivos. Análisis de la complejidad de algoritmos recursivos.
    Técnicas de diseño de algoritmos: dividir y conquistar, backtracking, algoritmos golosos, programación dinámica.
    Algoritmos probabilísticos. Algoritmos aproximados Algoritmos heurísticos: ejemplos. Metaheurísticas. Nociones de evaluación de heurísticas.

    2. GRAFOS:

    Definiciones básicas. Adyacencia, grado de un nodo, isomorfismos, caminos, conexión, etc. Grafos eulerianos y hamiltonianos. Grafos bipartitos. Arboles: caracterización, árboles orientados, árbol generador. Enumeración. Planaridad. Coloreo. Número cromático. Matching, conjunto independiente, recubrimiento. Recubrimiento de aristas y vértices.

    Monografias.com

    3. ALGORITMOS EN GRAFOS Y APLICACIONES:

    Representación de un grafo en la computadora: matrices de incidencia y adyacencia, listas.
    Algoritmos de búsqueda en grafos: BFS, DFS, A*. Mínimo árbol generador, algoritmos de Prim y Kruskal. Arboles ordenados: códigos unívocamente descifrables. Algoritmos para detección de circuitos. Algoritmos para encontrar el camino mínimo en un grafo: Dijkstra, Ford, Floyd, Dantzig. Planificación de procesos: PERT/CPM.
    . Heurísticas para el problema del viajante de comercio. Algoritmos para determinar si un grafo es planar. Algoritmos para coloreo de grafos.
    Algoritmos para encontrar el flujo máximo en una red: Ford y Fulkerson. Matching: algoritmos para correspondencias máximas en grafos bipartitos. Otras aplicaciones.

    4. PROBLEMAS NP-COMPLETOS:

    Problemas tratables e intratables. Problemas de decisión. P y NP. Maquinas de Turing no determinísticas. Problemas NP-completos. Relación entre P y NP. Problemas de grafos NP-completos: coloreo de grafos, grafos hamiltonianos, recubrimiento mínimo de las aristas, corte máximo, etc.

    Monografias.com

    BIBLIOGRAFIA

    BIBLIOGRAFÍA BÁSICA :

    Brassard,G., Bratley,P."Fundamental of Algorithmics", Prentice Hall,1996.
    Cormen, T.,Leiserson, C.,Rivest,R.,Stein, C.,"Introduction to Algorithms", The MIT Press, McGraw-Hill,2001.
    Garey M.R. and Johnson D.S.: "Computers and intractability: a guide to the theory of NP- Completeness", W. Freeman and Co., 1979.
    Gross,J., and Yellen, J. ,"Graph theory and its applications", CRC, 1999
    Harary F., "Graph theory", Addison-Wesley, 1969.

    BIBLIOGRAFÍA DE CONSULTA : ver en la página WEB de la materia y en el el archivo de las prácticas.

    Monografias.com

    ALGORITMOS

    Qué es un algoritmo ?
    Qué es un buen algoritmo?
    Dados dos algoritmos para resolver un mismo problema, cuál es mejor?
    Cuándo un problema está bien resuelto?
    Cómo se hace para inventar un nuevo algoritmo?

    Monografias.com

    Qué es un algoritmo?
    Noción "informal":

    Un algoritmo es una sucesión finita de instrucciones "bien definidas" tal que:

    i) No hay ambigüedad en las instrucciones.
    ii) Después de ejecutar una instrucción no hay ambigüedad respecto de cual es la instrucción que debe ejecutarse a continuación.
    iii) Después de un número finito de instrucciones ejecutadas se llega siempre a la instrucción STOP ("Un algoritmo siempre para").

    Monografias.com

    PROBLEMA

    instancia de un problema
    datos de entrada de una instancia (E)
    solución (S)

    ALGORITMO:

    técnica para la resolución de un problema
    función f tal que f (E) = S

    Monografias.com

    Problema de Collatz
    Paso 1: z número entero positivo
    Paso 2: mientras z ? 1 hacer
    Paso 3: Si z es par poner z = : z / 2
    En caso contrario poner z =: 3 z +1

    Paso 4: parar
    =====================================
    es esto un algoritmo?

    Monografias.com

    Cuánto tarda un algoritmo en resolver un problema?

    Cuándo un algoritmo que resuelve un problema es mejor que otro que resuelve el mismo problema?

    Complejidad Computacional

    Monografias.com

    Complejidad
    La complejidad de un algoritmo es una función que calcula el tiempo de ejecución en función del tamaño de la entrada de un problema.

    Historia

    Complejidad en el peor caso (es siempre significativo el peor caso?)
    Complejidad en el caso promedio (porqué no usamos este enfoque siempre?)

    Monografias.com

    Cómo medir el tiempo de ejecución en función del tamaño de la entrada de los datos del problema?

    MODELOS DE COMPUTACION

    RAM
    MAQUINA DE TURING

    Monografias.com

    Maquina RAM (RANDOM ACCESS MACHINE)
    Es el modelo que usamos implícitamente en la práctica para evaluar la complejidad de un algoritmo.

    ==================================================
    unidad de memoria
    unidad de entrada
    procesador (programa)
    unidad de salida
    conjunto de instrucciones
    ====================================================

    Un programa RAM es una secuencia finita de estas instrucciones

    Partes: 1, 2

    Página siguiente 

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter