Estructura de Datos Unidad 1
Enviado por Aldo Guevara • 29 de Noviembre de 2019 • Documentos de Investigación • 1.959 Palabras (8 Páginas) • 170 Visitas
Estructuras de datos
Unidad 1: Introducción a las estructuras de datos
1.1 Clasificación de las estructuras de datos
Definición del termino Estructura de datos. Este término se refiere a un conjunto de datos organizados (y almacenados) de tal forma que se puedan manipular mediante operaciones entre ellos, todo esto suceptible de realizar mediante programas de computadoras.
Ejemplo: los arreglos, son precisamente una colección de datos que se almacenen organizadamente en la memoria de la computadora, y se pueden realizar operación es con ellos.
De forma general es posible clasificar las estructuras de datos de la siguiente manera:
Listas estáticas Pilas(stack)
(almacenamiento contiguo) Colas(Queue)
Estructuras
de datos
Listas dinámicas Pila(stack)
(almacenamiento disperso Cola(Queue)
usando punteros) Arboles(Tree)
Grafos(Graph)
En las posteriores unidades se tratará cada una de las estructuras aquí mencionadas.
1.2 Tipos de datos abstractos(TDA’s)
Un TDA es un Tipo de Datos Abstracto, es el diseño lógico y la implementación de una estructura de datos con sus posibles operaciones a realizar para lograr un objetivo predeterminado.
El diseño lógico de un TDA es un documento fuente donde se muestra de manera abstracta la forma de almacenar los datos, así como también la manera de cómo se realizarán las diversas operaciones con los datos almacenados. Al crear el TDA se hace uso del concepto de “abstracción”, el cual es una manera(técnica) de describir de manera general una entidad (ejemplo: una estructura de datos), así como sus características y la manera de cómo realizar sus operaciones para lograr un objetivo específico.
Los lenguajes de programación representan la opción para implementar los diseños lógicos de los TDA mediante las aplicaciones que con ellos se pueden desarrollar, de tal forma que La implementación de un TDA es el código de un programa que describe específicamente la manera de cómo se almacenarán los datos de una estructura y las operaciones a realizar con ellos. TecNM TecNL Fidel García O.
2
En esta materia la implementación de los TDA´s se hará mediante el lenguaje de programación Java, de tal manera que en la implementación de las diversas estructuras que trataremos en el curso las haremos mediante el uso de la P.O.O., esto es mediante el uso de los diversos tipos de clases.
El concepto de “abstracción” en los lenguajes de programación se aplica en dos categorías:
a) Abstracción de los datos.
Esta parte se refiere a la definición de la forma de como se almacenarán los datos, esto es la declaración de las variables y sus tipos de datos primitivos, y también el uso de clases como TDA´s.
b) Abstracción de control.
Esta parte se refiere al código de la aplicación que ejerce control sobre las operaciones a realizar con los datos(estructuras de control de ciclos, condicionales, etc..), en Java esto se implementa mediante los métodos de las aplicaciones.
Un TDA también es llamado ADT como acrónimo de “Abstract Data Type”.
Ventajas del uso de los TAD:
a) Permiten conceptualizar un modelo de objetos del mundo real facilitando su diseño y su operatividad.
b) Permiten mejorar las aplicaciones haciéndolas más robustas(reduciendo las posibles fallas).y eficientes.
c) Permiten la extensibilidad de las aplicaciones.
d) Permiten la optimización de tiempos de compilación.
1.3 Ejemplos de un TDA.
Un ejemplo de la creación de un TDA para operar un arreglo unidimensional de 5 elementos para realizar la suma de sus elementos que sean impares seria la siguiente:
Diseño lógico:
Nombre de la estructura: arreglo1.
Tipo de almacenamiento: estático (almacenamiento contiguo).
Tipo de dato primitivo: doublé.
0 1 2 3 4
Arreglo1[1]
Arreglo1[2]
Arreglo1[4]
Arreglo1[3]
Arreglo1[0]
arreglo1
nombre y Tipo de dato de la variable para almacenar la suma: sumaimpares.
Esta estructura realizará la operación de suma aritmética de los valores almacenados en el arreglo bajo la condición para determinar cuándo un elemento del arreglo es número impar:
si arreglo1[i]%2 != 0 entonces sumaimpares = sumaimpares + arreglo1[i]
**nota. La variable sumaimpares debe ser inicializada en cero.
La implementación del diseño lógico realizado pudiese ser de la siguiente manera: TecNM TecNL Fidel García O.
3
import javax.swing.*;
public class Ejemplo1 {
private double arreglo1[] = new double[5];
private String dato;
private double sumaimpares = 0;
public Ejemplo1() {
// constructor vacio
}
public void cargaValores() {
for(int i=0;i<5;i++) {
dato = JOptionPane.showInputDialog("DAME UN NUMERO: ");
arreglo1[i] = Double.parseDouble(dato);
}
}
public void sumatoriaImpares() {
for(int i=0;i<5;i++) {
if(arreglo1[i]%2 != 0) sumaimpares = sumaimpares + arreglo1[i];
}
}
public void imprimir() {
JOptionPane.showMessageDialog(null, "La suma de valores impares es: "+sumaimpares);
}
public static void main(String[] args) {
Ejemplo1 s = new Ejemplo1();
s.cargaValores();
s.sumatoriaImpares();
s.imprimir();
}
}
1.4 Manejo de memoria.
Este tema es referente al uso del recurso computacional de la memoria asignada a un programa para almacenar los datos que va a procesar.
...