Projeto de Algoritmos com Implementações em Pascal e C

Um projeto de Nivio Ziviani, Ph.D. Professor Emérito do Departamento de Ciência da Computação Universidade Federal de Minas Gerais

Una traducción de Joaquín Adiego

Editora: Pioneira Thomson


» Capítulos


Capítulo 1: Introducción

  1. Algoritmos, Estructuras de Datos y Programas
  2. Tipos de Datos y Tipos Abstractos de Datos
  3. Medida del Tiempo de Ejecución de un Programa
    1. Comportamiento Asintóntico de Funciones
    2. Clases de Comportamiento Asintótico
  4. Técnicas de Análisis de Algoritmos
  5. Pascal
  6. Notas Bibliográficas
  7. Ejercicios

Capítulo 2: Paradigmas de Diseño de Algoritmos

  1. Inducción
  2. Recursividad
    1. Cómo Implementar Recursividad
    2. Cuándo No Usar Recursividad
  3. Algoritmos de Prueba y Error
  4. Divide y Vencerás
  5. Balanceado
  6. Programación Dinámica
  7. Algoritmos Voraces
  8. Algoritmos Aproximados
  9. Notas Bibliográficas
  10. Ejercicios

Capítulo 3: Estructuras de Datos Elementales

  1. Listas Lineales
    1. Implementación de Listas mediante Vectores
    2. Implementación de Listas mediante Apuntadores
  2. Pilas
    1. Implementación de Pilas mediante Vectores
    2. Implementación de Pilas mediante Apuntadores
  3. Colas
    1. Implementación de Colas mediante Vectores
    2. Implementación de Colas mediante Apuntadores
  4. Notas Bibliográficas
  5. Ejercicios

Capítulo 4: Ordenación

  1. Ordenación Interna
    1. Ordenación por Selección
    2. Ordenación por Inserción
    3. Shellsort
    4. Quicksort
    5. Heapsort
    6. Comparación entre los Métodos
    7. Ordenación Parcial
  2. Ordenación Externa
    1. Mezcla Balanceada de Varios Caminos
    2. Implementación mediante Seleción por Sustitución
    3. Consideraciones Prácticas
    4. Mezcla Polifásica
    5. Quicksort Externo
  3. Notas Bibliográficas
  4. Ejercicios

Capítulo 5: Búsqueda en Memoria Principal

  1. Búsqueda Secuencial
  2. Búsqueda Binaria
  3. Árboles de Búsqueda
    1. Árboles Binarios de Búsqueda no Balanceados
    2. Árboles Binarios de Búsqueda Balanceados
  4. Búsqueda Digital
    1. Trie
    2. Patricia
  5. Transformación de Clave (Hashing)
    1. Funciones de Transformación
    2. Listas Enlazadas
    3. Direccionamiento Abierto
    4. Hashing Perfecto
  6. Notas Bibliográficas
  7. Ejercicios

Capítulo 6: Búsqueda en Memoria Secundaria

  1. Modelo de Computación para Memoria Secundaria
    1. Memoria Virtual
    2. Implementación de un Sistema de Paginación
  2. Acceso Secuencial Indexado
    1. Discos Ópticos de Sólo-Lectura
  3. Árboles de Búsqueda
    1. Árboles B
    2. Árboles B*
    3. Acceso Concurrente en Árvores B*
    4. Consideraciones Prácticas
  4. Notas Bibliográficas
  5. Ejercicios

Capítulo 7: Algoritmos en Grafos

  1. Definiciones Básicas
  2. El Tipo Abstracto de Datos Grafo
    1. Implementación mediante Matrices de Adyacencia
    2. Implementación mediante Listas de Adyacencia Usando Apuntadores
    3. Implementación mediante Listas de Adyacencia Usando Vectores
    4. Programa de Prueba para las Tres Implementaciones
  3. Búsqueda en Profundidad
    1. Clasificación de Aristas
    2. Prueba para Verificar si el Grafo es Acíclico
  4. Búsqueda en Anchura
  5. Ordenación Topológica
  6. Componentes Fuertemente Conexos
  7. Árbol de Recubrimiento Mínimo
    1. Algoritmo Genérico Para Obtener el Árbol de Recubrimiento Mínimo
    2. Algoritmo de Prim
    3. Algoritmo de Kruskal
  8. Caminos más Cortos
  9. Notas Bibliográficas
  10. Ejercicios

Capítulo 8: Procesamiento de Cadenas de Caracteres

  1. Emparejamiento de Cadenas
    1. Emparejamiento Exacto
    2. Emparejamiento Aproximado
  2. Compresión
    1. ¿Por qué Usar Compresión?
    2. Compresión de Textos en Lenguaje Natural
    3. Compresión de Huffman Usando Palabras
    4. Codificación de Huffman Usando Bytes
    5. Búsqueda en Texto Comprimido
  3. Notas Bibliográficas
  4. Ejercicios

Capítulo 9: Problemas NP-Completo y Algoritmos Aproximados

  1. Problemas NP-Completo
    1. Algoritmos No-Deterministas
    2. Las Clases NP-Completo y NP-Difícil
  2. Heurísticas y Algoritmos Aproximados
    1. Algoritmos Exponenciales Usando Prueba y Error
    2. Heurísticas para Problemas NP-Completo
    3. Algoritmos Aproximados para Problemas NP-Completo
  3. Notas Bibliográficas
  4. Ejercicios

Produzido por Tambor Comunicação