Estructura de Datos
Listas, colas y pilas
Nombre: Madelin Abreu
Matricula: 11-1158
 Estructura de datos organizada
secuencial, homogénea y dinámica.

de

forma

 Una manera de clasificarlas es por la for...
Lista

 Las Listas son secuencias de 0 o mas elementos de un
tipo de datos almacenado en memoria. Son estructura
lineales...
 Para que esta estructura sea un TAD lista
enlazada, debe tener unos operadores asociados que
permitan la manipulación de...
 Tiene que declararse el tamaño de la lista.
Exige sobrevaloración
Consume mucho espacio

Lista a base de
vectores

 C...
Esquema de
un nodo y una
lista enlazada
 Tipo: Unidimensional
 {inv: N pertenece Z+ (numeros enteros positivos)}

Tad Lista

 Operaciones:
Crear_ vector int >...
Pilas

 Una pila es una colección de datos a los cuales se les
puede acceder mediante un extreme, que se conoce
generalme...
Representation
de Pilas

 Las pilas no son estructuras fundamentales de datos:
es decir no están definidas como tales en ...
 Ya que las pilas son LIFO (Last in – First Out) el recorrido se
hace sacabdo el ultimo dato que se insert hasta que no
e...
Aplicaciones
de Pilas

 Las pilas son un Eds muy usadas en la solucion de
diversos tipos de problemas, en el area de comp...
 Una cola es una estructura de datos donde el primer
elemento en entrar es el primero en salir, también
denominadas estru...
 Operadores asociados al TDA Cola.
Operador

Funciones asociadas a GQueue

Iniciar cola.

GQueue* g_queue_new (void)

Col...
Operadores
con cola

 Iniciar cola: El operador "Iniciar cola" es el encargado de
crear una nueva cola y ponerla en estad...
Próxima SlideShare
Cargando en…5
×

Presentacion pilas lista y colas

269 visualizaciones

Publicado el

0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
269
En SlideShare
0
De insertados
0
Número de insertados
2
Acciones
Compartido
0
Descargas
1
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Presentacion pilas lista y colas

  1. 1. Estructura de Datos Listas, colas y pilas Nombre: Madelin Abreu Matricula: 11-1158
  2. 2.  Estructura de datos organizada secuencial, homogénea y dinámica. de forma  Una manera de clasificarlas es por la forma de acceder al siguiente elemento: Lista  Lista densa: la propia estructura determina cual es el siguiente elemento de la lista. Ejemplo: un array.  Lista enlazada: la posición del siguiente elemento de la estructura la determina el elemento actual. Es necesario almacenar al menos la posición de memoria del primer elemento. Además es dinámica, es decir, su tamaño cambia durante la ejecución del programa.
  3. 3. Lista  Las Listas son secuencias de 0 o mas elementos de un tipo de datos almacenado en memoria. Son estructura lineales donde cada elemento de una lista excepto el primero tiene un único predecesor y cada elemento de la lista excepto el ultimo tiene un sucesor.  Gráficamente:
  4. 4.  Para que esta estructura sea un TAD lista enlazada, debe tener unos operadores asociados que permitan la manipulación de los datos que contiene.  Los operadores básicos de una lista enlazada son:  Insertar Lista  Eliminar  Buscar  Localizar  Vaciar
  5. 5.  Tiene que declararse el tamaño de la lista. Exige sobrevaloración Consume mucho espacio Lista a base de vectores  Complejidad computacional de las operaciones: Buscar el enésimo, tiempo constante Visualizar y buscar, tiempo lineal Insertar y eliminar son costosas  Insertar o eliminar un elemento exige, en promedio, desplazar la mitad de los valores, O(n).  Las construcción de una lista o la eliminación de todos sus elementos podría exigir un tiempo cuadrático.
  6. 6. Esquema de un nodo y una lista enlazada
  7. 7.  Tipo: Unidimensional  {inv: N pertenece Z+ (numeros enteros positivos)} Tad Lista  Operaciones: Crear_ vector int > vector Asignar_valores vector X int > vector Determ_centro vector X int > int
  8. 8. Pilas  Una pila es una colección de datos a los cuales se les puede acceder mediante un extreme, que se conoce generalmente como tope.
  9. 9. Representation de Pilas  Las pilas no son estructuras fundamentales de datos: es decir no están definidas como tales en los lenguajes de programación. Para su representación requieren de otras Eds, como: Arreglos Listas
  10. 10.  Ya que las pilas son LIFO (Last in – First Out) el recorrido se hace sacabdo el ultimo dato que se insert hasta que no encuentre ningun otro. Pila  Push es simplemente el metodo por el cual va agregando un dato Nuevo a la pila tomando en cuenta la capacidad maxima (Max) de almacenar un dato.  Pop: es simplemente el metodo por el cual va sacando el ultimo Dato de la pila, basandose unicamente en el Top.  Busqueda: Este metodo usa el recorrido para encontrar element y desplegar un mensaje si la busquedad es exitosa.  Eliminacion: Este metodo busca un Dato dentro de la pila y lo elimina
  11. 11. Aplicaciones de Pilas  Las pilas son un Eds muy usadas en la solucion de diversos tipos de problemas, en el area de computacion. Algunos de los casos mas representativos de aplicacion de las mismas son:  Llamadas a subprogramas  Recursividad  Tratamiento de expresiones aritmeticas  Ordenacion
  12. 12.  Una cola es una estructura de datos donde el primer elemento en entrar es el primero en salir, también denominadas estructuras FIFO (First In, First Out). Colas  Esta estructura de datos se puede definir como una lista enlazada con acceso FIFO a la que sólo se tiene acceso al final de la lista para meter elementos y al principio de esta para sacarlos.
  13. 13.  Operadores asociados al TDA Cola. Operador Funciones asociadas a GQueue Iniciar cola. GQueue* g_queue_new (void) Cola vacía. gboolean g_queue_is_empty (GQueue* queue) Consultar frente cola gpointer g_queue_peek_head (GQueue* queue) Operadores con cola Consultar final cola. gpointer g_queue_peek_tail (GQueue* queue) Meter void g_queue_push_tail (GQueue* queue, gpointer data Sacar gpointer g_queue_pop_head (GQueue* queue) Vaciar cola. void g_queue_free (GQueue* queue)
  14. 14. Operadores con cola  Iniciar cola: El operador "Iniciar cola" es el encargado de crear una nueva cola y ponerla en estado de cola vacía.  Cola vacia: Este operador consulta si la cola está vacía. Es necesaria su utilización antes de realizar la operación de "sacar elementos" de la cola.  Consultar el frente: Esta operación consulta el contenido del frente de la cola sin sacarlo.  Consultar el final: Esta operación consulta el contenido del final de la cola sin sacarlo.  Meter: Este operador introduce elementos al final de la cola.  Sacar: El operador "sacar" elimina elementos del frente de la cola.  Vaciar cola: Elimina el contenido de una cola inicializándola a una cola vacía.

×