porta
Introducción a las estructuras de datos
1.1 TDA
Un algoritmo es una secuencia finita de operaciones, organizadas para realizar una tarea determinada.
Las estructuras de datos son la forma en que se organizan los datos para ser usados.
Una estructura de datos bien organizada debe permitir realizar un conjunto de acciones sobre los datos de tal forma de minimizar el uso de losrecursos y el tiempo empleado para efectuar la operación.
Abstracción
La abstracción es un mecanismo fundamental para la comprensión de fenómenos o situaciones que implican gran cantidad de detalles.
Abstracción es la capacidad de manejar un objeto (tema o idea) como un concepto general, sin considerar la enorme cantidad de detalles que pueden estar asociados con dicho objeto.
Tipo Abstractode Dato (TDA)
Qué es un TDA?
La abstracción de datos consiste en ocultar las características de un objeto y obviarlas, de manera que solamente utilizamos el nombre del objeto en nuestro programa. Esto es similar a una situación de la vida cotidiana. Cuando se dice la palabra “perro”, usted no necesita que se le diga lo que hace el perro. Usted ya sabe la forma que tiene un perro y tambiénsabe que los perros ladran. De manera que se abstraen todas las características de los perros en un solo término, “perro”. A esto se le llama ‘Abstracción’ y es un concepto muy útil en la programación, ya que un usuario no necesita mencionar todas las características y funciones de un objeto cada vez que éste se utiliza, sino que son declaradas por separado en el programa y simplemente se utilizael término abstracto (“perro”) para mencionarlo.
1.2 Modularidad
La modularidad es la posibilidad de dividir una aplicación en piezas más pequeñas llamadas módulos.
¿Por qué Modulamos las aplicaciones?
Descomponer el problema en partes más simples
Facilitar la comprensión del sistema y de cada una de sus partes.
Si se produce un error en un módulo, éste sóloafecta a dicho módulo
¿Cómo se debe modular una aplicación?
El módulo debe dejar bien claro cómo hacer uso de él
El acceso a los servicios de un módulo debe ser homogéneo
Un módulo debe estar listo para su uso pero a su vez debe poder mejorarse
El lenguaje de programación utilizado debe soportar el uso de módulos
1.3 Uso de TDA
Usar el TDApermite aprovechar el nivel de abstracción en el desarrollo de un problema. Por ejemplo: Resolver el problema de verificación si la suma y multiplicación de 2númeroscomplejos producen el mismo número complejo. Solución en pseudo lenguaje:INICIO // Programa principal X, Y COMPLEJOA BooleanoX = CREAR_COMPLEJO(3,-5) Y = CREAR_COMPLEJO(8,-3)A = VERIFICAR1(X,Y)Si A = verdadero entonces imprimir “Soniguales la suma y la multiplicación ”Sino imprimir “NO son iguales la suma y la multiplicación”FsiFINfunción VERIFICAR1 (X,Y: COMPLEJO): Booleano // Función Verificar1Z1,Z2 COMPLEJOZ1 = SUMAR (X,Y)Z2 = MULTIPLICAR (X,Y)RETORNAR IGUAL (Z1,Z2)f.funciónfunción VERIFICAR2 (X,Y: COMPLEJO): Booleano // Función Verificar2 RETORNAR IGUAL (SUMAR (X,Y), MULTIPLICAR (X,Y) )f. función Se provee al lector de otraversión función VERIFICAR2 que realiza la misma operación sobre los números complejos. Note que VERIFICAR1 no es una operación del TDA
1.4 Manejo de memoria estática
Para implementar alguna estructura de datos, primero es necesario tener muy claro cómo va a ser el manejo de memoria.
La diferencia entre estructuras estáticas y dinámicas esta en el manejo de memoria.
En la memoria estáticadurante la ejecución del programa el tamaño de la estructura no cambia.
La estructura que maneja memoria estática son los vectores.
Un vector es una colección finita, homogénea y ordenada de elementos.
Los componentes hacen referencia a los elementos que forman el arreglo y los índices permiten referirse a los componentes del arreglo en forma individual.
Los arreglos se clasifican en:...
Regístrate para leer el documento completo.