jueves, 15 de abril de 2010

lunes, 12 de abril de 2010

ESTRUCTURAS DE DATOS

El estudio de la estructura de datos, sin duda es uno de los más importantes dentro de las carreras relacionadas con la computación, ya que el conocimiento eficiente de las estructuras de datos suele ser vital en la formación de los alumnos debido a la trascendencia que un aprendizaje teórico-práctico de las mismas supondrá para su carrera.
Una de las aplicaciones más interesantes y potentes de la memoria dinámica y los punteros son las estructuras dinámicas de datos. Las estructuras básicas disponibles tienen una importante limitación: no pueden cambiar de tamaño durante la ejecución. Los arreglos están compuestos por un determinado número de elementos, número que se decide en la fase de diseño, antes de que el programa ejecutable sea creado.
En muchas ocasiones se necesitan estructuras que puedan cambiar de tamaño durante la ejecución del programa. Por supuesto, podemos hacer arreglos dinámicos, pero una vez creados, su tamaño también será fijo, y para hacer que crezcan o disminuyan de tamaño, deberemos reconstruirlas desde el principio.
Las estructuras dinámicas nos permiten crear estructuras de datos que se adapten a las necesidades reales a las que suelen enfrentarse nuestros programas. Pero no sólo eso, también nos permitirá crear estructuras de datos muy flexibles, ya sea en cuanto al orden, la estructura interna o las relaciones entre los elementos que las componen.
El estudio de las estructuras de datos se hará desde diversos puntos de vista: diseño de estructuras en respuesta a necesidades especificas, encapsulamiento de los tipos de datos usándolos en base a su especificación (propiedades funcionales) y no a su implementación y estudio de los principales tipos, tanto elementales como no elementales, dividiendo éstos últimos en estructuras lineales (listas, pilas, colas,...) Y no lineales (árboles, grafos,...), analizándolos primero desde el punto de vista teórico pero sin perder de vista sus aplicaciones prácticas.

En esta asignatura se recomienda el uso del Lenguaje C, Pascal o uno de sus derivados. Esto debido a que son lenguajes con suficientes estructuras de control para implementar estas abstracciones y permiten que estructuras de datos básicos como las pilas, las listas ligadas y los árboles sean implementados de diversas formas. Además se debe considerar que el Lenguaje C es aplicable en muchos ámbitos de la programación por lo cual el estudiante debe tener un buen dominio de él.

El curso se inicia con un repaso de conceptos y continuando con las estructuras básicas (como son: pilas, colas, listas ligadas y árboles), recursión, búsquedas, ordenación y las aplicaciones graficas.