Plan de Asignatura

OBJETIVO GENERAL 

Entrenar a los estudiantes en las técnicas de programación para el almacenamiento de datos tanto a nivel de memoria como en disco, para el desarrollo de algoritmos aplicables a diversos retos, que permita la generación de una capacidad analítica y creativa en la solución e implementación. 

OBJETIVOS ESPECÍFICOS 

Utilizar las estructuras recursivas para la construcción de soluciones de problemas codificadas en el computador, identificando cuando un problema se puede hacer de forma recursiva y de forma iterativa, reconociendo las diferentes operaciones que se pueden utilizar en el manejo de caracteres. 

Reconocer los diferentes algoritmos de ordenamiento y búsqueda y realizar operaciones a nivel de programación 

identificar las estructuras de almacenamiento de información como pilas y colas, representadas de forma estática y dinámica. 

UNIDADES DIDÁCTICAS 

UNIDAD 1 ALGORITMOS DE ORDENAMIENTO Y BUSQUEDA 

  • BÚSQUEDA SECUENCIAL, BINARIA Y TRANSFORMACIÓN DE CLAVES

Son algoritmos de búsqueda que permiten optimizar el proceso de encontrar un dato dado dentro de un grupo de datos (la búsqueda binaria optimiza al de búsqueda secuencial y el de transformación de claves optimiza al de búsqueda binaria) 

  • ORDENAMIENTO POR BURBUJA, INSERCIÓN Y SELECCIÓN (MARGE SORT, QUICK SORT, COCKTAIL SORT) 

Permiten generar ordenamiento de un grupo de datos con criterios definidos y distintos para obtener al final un grupo ordenado de forma ascendente o descendente según la necesidad del programador.  

  • ANÁLISIS DE EFICIENCIA DE ORDENAMIENTO Y BÚSQUEDA  

Para determinar cuál es mejor de todos estos algoritmos se debe aplicar análisis de algoritmos a cada una de las soluciones de ordenamiento para determinar cuál es la más optima de las tres.

UNIDAD 2 MANEJO DE ESTRUCTURAS DINÁMICAS EN MEMORIA (LISTAS LIGADAS) 

  • CONCEPTOS BÁSICOS Y LISTAS SIMPLEMENTE LIGADAS

Las representaciones dinámicas manejan direcciones de memoria en un registro de memoria combinado al cual podemos llamar nodo o dirección y son importantes porque el almacenamiento en la memoria depende de si hay o no espacio para almacenar y puedo solicitar memoria si la requiero o liberar memoria si ya no necesito un nodo (esta estructura dinámica depende de la cantidad de memoria con la que cuento en mi sistema de cómputo). Las listas simplemente ligadas almacenan la información de cierto conjunto de direcciones que comienzan en una dirección de entrada y se ligan con un campo apuntador o liga, hasta que no hay más nodos (el campo apuntador es null), la información que almacena una lista simplemente ligada depende de la definición del registro de almacenamiento o la definición del nodo según lo que se necesite almacenar. Sobre estas listas se pueden realizar operaciones de recorrido, búsqueda, inserción, eliminación y ordenamiento.  

  • LISTAS DOBLEMENTE LIGADAS Y OTROS TIPOS DE TOPOLOGÍAS DE LISTAS 

Las listas doblemente ligadas tienen un apuntador más con respecto a las simples, ósea que manejan un apuntador liga izquierda (que apunta al nodo anterior) y un apuntador liga derecha (que apunta al nodo siguiente), de tal manera que la liga izquierda del primer nodo es igual a null y liga derecha del ultimo nodo es igual a null. Sobre listas doblemente ligadas se pueden realizar operaciones de recorrido, búsqueda, inserción, eliminación y ordenamiento. 

Se debe tener en cuenta que las listas ligadas tienen variaciones usando los conceptos de listas circulares y el de registro cabeza que es un nodo inicial de la lista que no contiene datos, así existen varios tipos de listas:

  • lista simplemente ligada circular 
  • lista simplemente ligada circular y con registro cabeza 

  • lista doblemente ligada circular 
  • lista doblemente ligada circular y con registro cabeza 

A diferentes tipos de listas se les aplica los mismos métodos que mencionamos para las listas simples y dobles. 

  • PILAS Y COLAS (ESTÁTICAS Y DINÁMICAS)  

La pila es una estructura de datos tipo LIFO que permite almacenar la información referente a un tope dentro de la estructura (es el último dato almacenado) y además extrae los elementos con respecto a ese mismo tope. Las operaciones principales sobre la pila representada de forma estática o dinámica son apilar y desapilar. 

La cola es una estructura de datos tipo FIFO que permite almacenar información a partir del último elemento de la estructura y permite extraer elemento tomando como referencia el primero de la estructura. Las operaciones básicas sobre la cola son encolar (llevar datos a la cola) y desencolar (sacar datos de la cola).  

UNIDAD 3 CONCEPTUALIZACIÓN DE RECURSIVIDAD 

  •  DEFINICIÓN Y APLICACIÓN DE LA RECURSIVIDAD 

Experimentar soluciones iterativas y compararlas con modelos más claros en pensamiento para las iteraciones como son las llamadas a sí mismo, o funciones recursivas (llamar dentro de la de ejecución de un algoritmo al mismo procedimiento, cambiando los parámetros del llamado y generando internamente la estructura pila para el control de ejecución) 

Se estudian problemas clásicos de recursividad en la algoritmia como: el cálculo de la factorial de un número, la generación de la serie Fibonacci y el problema de las torres de Hanói. 

FUENTES BIBLIOGRÁFICAS 

• Aguilar, J, (2008). Fundamento de Programación Madrid: MCGRAW-HILL. 

• Flórez, R. (2010). Algoritmia II. Medellín: Imprenta Universidad de Antioquia. 

• Oviedo, E (2015). Lógica de Programación Orientada a Objetos. 1ª .ed. Bogotá: Ecoe Ediciones: Universidad de Antioquia

FUENTES DIGITALES O ELECTRÓNICAS 

Luna, C. (2012). Estructura de Datos. Obtenido de https://www.aliat.org.mx/BibliotecasDigitales/sistemas/Estructura_de_datos/Estructu ra_de_datos_Parte_1.pdf 

• Bottazzi, C. (2015). Algoritmos y Estructuras de Datos. Obtenido de https://cimec.org.ar/~mstorti/aed/aednotes.pdf 

https://sistemasuniremingtonb.webnode.com.co/
Creado con Webnode
¡Crea tu página web gratis! Esta página web fue creada con Webnode. Crea tu propia web gratis hoy mismo! Comenzar