Skip to content

Clase #14(13 de mayo 2020)

MAU143429 edited this page Jun 1, 2020 · 1 revision

La clase comenzo revisando el programa actualizado del curso y completando el UML del super!

Estructuras de Datos Lineales

ADT

Que es un Abstract Data Type(ADT)?

Es un conjunto de objetos que tienen un conjunto de operaciones definidas

Los ADT es un tipo de abstraccion matematica, la definicion de ellos no incluye las operaciones.

Cuando se habla de datos pensamos en:

-Integers -Reals -Booleans

Pero si se piensa en tipos de ADTS se habla de:

-Listas -Colas -PIlas -Grafos

Los ADTS tienen operaciones asociadas por ejemplo

ADD REMOVE CONTAINS

Como podemos implementar tipos de datos abstractos en Java??

Las clases pueden ser usadas para implementar los ADT ya que nos permiten esconder datos de implementación

Como hacerlo?? LLamar a métodos de la clase

Los ADT no es un concepto de el paradigma Orientado a objetos Podríamos considerar los ADT COMO una interfaz o una clase de características

Que operaciones deberíamos agregar a los ADT??

Eso va a depender de la decision del programar Eso si tenemos que implementarlo tenemos que hacerlo con mucho cuidado para no exponer los detalles de implementación

Arrays!

Son objetos que tienen un límite de extensión al crearse No hay una palabra específica para declarar un arreglo Se pueden considerar como instancias o listas aunque no lo sea

Como declarar un array?

int[] a; int a[];

int[] a = new int[10] int[] b = {5,4,2,1}

Como acceder a los elementos de un arreglo??

Puedo ingresar a la posición de mi interés de manera indexada

Limitaciones de los arrays

Cambiar el tamaño del array La data del arreglo están contiguas es decir si tengo un arrays ya con valores pero si necesito que esté ordenado e ingreso un numero generará un conflicto.

Matrices

Es un arreglo bidimensional o un arreglo de arreglos.

int [][] nums = new int[5][4]

Listas Enlazadas

Una estructura de datos lineal cada nodo es un objeto separado y no está secuenciado en una memoria.

Una estructura de datos dinámica:

El número de nodos no es fijo Puede crecer o decrecer la cantidad de elementos Una aplicación que va a linear con una cantidad no fija de elementos debería usar listas

Un nodo contiene un campo para los datos y otro para la dirección de memoria el último nodo apunta a null

  • Explicación de las listas enlazadas

-Insertar elemento

Clone this wiki locally