Você está na página 1de 3

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS

(Universidad del Perú, DECANA DE AMÉRICA)

FACULTAD DE CIENCIAS MATEMATICAS


Escuela Académico Profesional de Investigación Operativa

SILABO

1. ESPECÍFICACIONES GENERALES

Nombre del Curso : Algoritmo y Estructura de Datos en I.O


Código del Curso : 964035
Número de Créditos :3
Requisito : Programación de Computadoras II
Carácter : Electivo
Duración del Curso : 17 Semanas
Semestre Académico : 2015 – 2
Forma de Dictado : Teórico - Práctico
Horas Semanales : 3 Hrs. (Sábado 8am – 11am)
Profesor : Bravo Suarez Jhon

2. SUMILLA
- Algoritmos
- Arreglos Unidimensionales
- Arreglos Multidimensionales
- Estructura de Datos.
- Archivos
- Listas Enlazadas
- Pilas
- Cola
- Árboles
- Grafos

3. OBJETIVOS
 Proveer una formación lógica matemática para desarrollar soluciones específicas.
 Implementar soluciones eficientes a problemas mediante métodos algorítmicos computacionales
eligiendo correctamente las estructuras de datos más adecuadas, para finalmente aplicarlo en un
lenguaje de programación.

4. SISTEMA DE EVALUACIÓN
La evaluación es integral, continua y permanente. Se tendrá en cuenta la capacidad creativa y crítica
del estudiante.
PROMEDIO FINAL = ( EP + EF + PL ) / 3
EP: EXAMEN PARCIAL
EF: EXAMEN FINAL
PL: PROMEDIO DE PRACTICAS-LABORATORIO

5. DISPOSICIONES GENERALES
El desarrollo del curso se rige por las siguientes disposiciones:
Tolerancia de 20 minutos después de iniciada la clase.
Límite de inasistencias 30%, pasado este límite el alumno no tendrá derecho a Examen Final ni a
entrega de trabajos de laboratorio.
6. CONTENIDO ANALÍTICO POR SEMANAS
1ª Semana: Algoritmos. Introducción
 Estructura de datos: Definición – Clasificación – Operaciones sobre estructura de datos. Lenguaje de
Pseudocódigo. Formalismo y abstracción de problemas y soluciones. Modularidad.
 Algoritmos: Características. Pre y Post condiciones. Complejidad del algoritmo. Aplicaciones.

2ª Semana: Desarrollo de algoritmos

 Técnicas del planteamiento del problema


 Implementación del algoritmo
 Uso de herramientas de análisis de programa(dfd y pseudocódigo)

3ª y 4ª Semana: Procedimientos y funciones


 Procedimientos. Funciones. Uso de parámetros.
 Recursividad: Definición. Recurrencias. Procedimientos recursivos. Aplicaciones.

5ª y 6ª Semana: Arreglos Unidimensionales


 Noción de arreglo unidimensional. Definición. Características. Representación en memoria. Acciones
primitivas. Algoritmos básicos: Carga, Recorrido, Acceso a un elemento por posición, Acceso a un
elemento por valor, Salvar en una fila, Recuperar desde una fila, Búsqueda binaria, Búsqueda
secuencial en un arreglo ordenado, Inserción de un elemento en una posición, Inserción de un
elemento después de un valor dado, Ordenación. Arreglo de registros. Aplicaciones.
 Cadenas. Funciones de conversión de cadenas, manipulación de cadenas, búsqueda, comparación de
cadenas. Aplicaciones.
 Primera Práctica-Laboratorio.

7ª Semana: Examen Parcial

8ª y 9ª Semana: Arreglos Multidimensionales


 Noción de arreglo multidimensional - Definición. Matrices: Características. Acciones primitivas.
Algoritmos básicos: Carga, Recorrido, Copia, Salvar en una fila secuencial, Recuperar desde una fila,
Matriz simulado mediante un vector, Recorrido de una matriz simulada, Salvar la matriz simulada,
Recuperar desde una fila secuencial. Aplicaciones.
 Matrices particulares: Triangulares, Simétricas, Huecas. Características. Representación.

10ª Semana: Estructuras y Archivos


 Noción de estructura. Aplicaciones y utilidad.
 Noción de registros. Aplicaciones
 Noción de Archivo. Principales operación con archivos.

11ª Semana: Listas Enlazadas


 Noción de lista enlazada. Definición. Características. Representación de listas enlazadas mediante
arreglos, mediante arreglos de cursores y mediante apuntadores. Algoritmos básicos: Adición al final
de la lista, Recorrido, Acceso a un elemento por posición, Acceso a un elemento por valor, Salvar en
una fila, Recuperar desde una fila, Inserción de un elemento en una posición, Inserción de un
elemento después de un valor dado, Eliminación de un elemento situado en una posición dada,
Eliminación de un elemento dado, Ordenación, Mezcla. Aplicaciones.
Noción de Listas doblemente enlazadas y Listas circulares
12ª Semana: Pilas y Colas
 Noción de Pila. Definición. Características. Representación mediante: arreglos, arreglos de cursores y
apuntadores. Acciones primitivas. Aplicaciones de Pilas: Conversión y Evaluación de Expresiones
Infija, Postfija y Prefija. Llamadas a procedimientos recursivos.
 Noción de Cola. Definición. Características. Representación mediante: arreglos, arreglos de cursores
y apuntadores. Acciones primitivas. Aplicaciones.
 Bicolas. Bicolas de Entrada restringida. Bicolas de salida restringida.
 Colas de prioridades. Representación mediante arreglos y listas enlazadas.
13ª Semana: Árboles
 Noción de Árbol. Definición. Características. Acciones primitivas. Representación mediante arreglos
y mediante apuntadores. Tipos de Árboles. Algoritmos básicos: Recorrido (orden previo, orden
simétrico, orden posterior). Aplicaciones.
 Noción de Árbol binario. Definición. Características. Acciones primitivas. Representación mediante
arreglos y mediante apuntadores. Árboles estrictamente binarios. Árboles completos y cuasi
completos. Representación de un árbol completo o cuasi completo. Algoritmos básicos: Recorrido
(pre orden, in orden, post orden), Recorrido por niveles, Ordenamiento, Búsqueda, Inserción,
Eliminación.
 Aplicaciones: Árboles de expresiones. Construcción y Evaluación de expresiones. Árbol en montón
(Ordenamiento por montón), Árbol binario de búsqueda, Árbol de Huffman (Algoritmo y código).
14ª y 15ª Semana: Grafos
 Noción de Grafo. Tipos: Grafos dirigidos y no dirigidos.
 Definición de grafo no dirigido. Representación mediante una matriz de adyacencia y lista de
adyacencia. Operaciones básicas: Recorrido en profundidad y amplitud, paseo euleriano, ciclo
Hamiltoniano, caminos mínimos, Algoritmo de Dijkstra, matriz de caminos, Algoritmo de Warshall.
Grafo cíclico. Matriz de incidencia. Árbol abarcador de costo mínimo (Algoritmos de Prim y
Kruskal). Aplicaciones.
 Definición de grafo dirigido. Búsqueda en profundidad. Árboles de recubrimiento, camino
hamiltoniano, paseo euleriano, Recorrido. Matriz de adyacencia, matriz de incidencia, matriz de
caminos. Algoritmo de Dijkstra, Algoritmo de Warshall.
 Segunda Práctica-Laboratorio.

16ª Semana: Examen Final


17ª Semana: Examen Sustitutorio

7. BIBLIOGRAFÍA
 Fundamentos de Programación. Joyanes Aguilar Luis
 Estructura de Datos y Algoritmos. Aho, Hopcroft y Ullman.
 Estructura de Datos y Algoritmos. Augusto Cortez.
 Estructura de Datos. Gallardo y Pérez.
 Estructura de Datos y Algoritmos. Hernández, Lázaro, Dormido y Ros.
 Estructura de Datos y Algoritmos. Jaime Alberto.
 Diseño de programas – Formalismo y Abstracción. Ricardo Peña Mori.
 Estructura de Datos con C y C++. Tenembaum, Langsam y Augenstein
 Estructura de datos y Algoritmos. Mark Allen Weiss
 Algoritmos en C++. Robert Sedgewick.