Estructuras de datos

21
Estructuras de Datos Kemuel Sanchez 11-1050

Transcript of Estructuras de datos

Page 1: Estructuras de datos

Estructuras de Datos

Kemuel Sanchez

11-1050

Page 2: Estructuras de datos

Listas ¿Qué objetos se pueden modelar con una

lista?

Page 3: Estructuras de datos

Listas Definicion:

“En ciencias de computación, una lista o secuencia es un tipo de datos abstracto que se implementa como una colección ordenada de valores, donde el mismo valor puede ocurrir más de una vez. Una instancia de lista es una representación del concepto matemático de secuencia finita.”

(http://en.wikipedia.org/wiki/List_(abstract_data_type)

Page 4: Estructuras de datos

Listas

Page 5: Estructuras de datos

Listas Relacionando el concepto de “Ventana”

con el de “Lista”

Ventana es el elemento de la lista que estamos accediendo en este momento.

Page 6: Estructuras de datos

Listas Implementacion con

Vectores: Acceso rapido

Indizado a los elementos

Problemas al insertar elementos.

Implementacion con Listas enlazadas: Acceso indizado lento,

requiere recorrer la estructura

Insersion rapida de nuevos elementos

Page 7: Estructuras de datos

Listas Mecanismos para implementarlas en

diferentes lenguajes C++:

Clase List<t>

C#: Clase List<t> Clase LinkedList<t> Clase SortedList<t>

Page 8: Estructuras de datos

Listas Mecanismos para implementarlas en

diferentes lenguajes Java:

Clase ArrayList<t> Clase LinkedList<t>

Page 9: Estructuras de datos

Listas Mecanismos para implementarlas

Java: Clase ArrayList<t> Clase LinkedList<t>

Page 10: Estructuras de datos

Pilas Que objetos se puen modelar con una pila?

13 + 21 * 5 = 170/118Vs.

13 21 + 5 * = 170

13 + 21 * 5 = 170/118Vs.

13 21 + 5 * = 170

Page 11: Estructuras de datos

Pilas

Una pila o Stack es una estructura linear de datos, en la que el último en llegar es el

primero en salir. Esta estructura también se conoce como LIFO.

Page 12: Estructuras de datos

Pilas

Page 13: Estructuras de datos

Pilas Mecanismos para implementarlas:

Page 14: Estructuras de datos

Pilas Implementacion con Listas:

Si utilizamos una lista, entonces estaríamos insertando / leyendo constantemente elementos al final de la lista, lo que en el caso de una Lista enlazada es algo trivial, ya que no se necesita recorrer la lista.

Page 15: Estructuras de datos

Pilas Implementacion con Listas:

En el caso del vector, como siempre la limitación esta en el hecho de que las constantes rea locaciones para obtener más espacio disponible pueden convertirse en un problema

Page 16: Estructuras de datos

Colas ¿Qué objetos se pueden modelar con una

cola?

Page 17: Estructuras de datos

Colas ¿Qué objetos se pueden modelar con una

cola?

Page 18: Estructuras de datos

Colas Definicion:

Una cola es lo inverso a una pila; una estructura linear de datos donde el primero en llegar, es

el primero en salir (FIFO), o lo que es lo mismo, el último en llegar, es el último en

salir (LILO).

Page 19: Estructuras de datos

Colas

Page 20: Estructuras de datos

Colas Describiendo las implementaciones de

colas con vectores circulares

Una cola circular es aquella en la que el último elemento de la cola hace referencia al primero.

En el caso de una lista, esto no supone mayores complicaciones, pero si se utiliza un array debe de aplicarse una matemática especial para los índices.