SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Estructura de Datos
Contenido


     Estructura de LISTA




                     Estructura PILA




                                       Estructura COLA
Definiciones

Es una estructura de datos secuencial.

Es una estructura de datos homogénea y dinámica, que va a estar formada por
una secuencia de elementos, donde cada uno de ellos va seguido de otro o de
ninguno.
Homogénea: Todos los elementos que la forman tienen el mismo tipo base.
Dinámica: Puede crecer o decrecer en tiempo de ejecución según nuestras
necesidades. dos listas pueden ser diferentes si:

Las listas son secuencias de 0 ó más elementos de un tipo de datos almacenados
en memoria. Son estructuras lineales donde cada elemento de una lista excepto el
primero tiene un único predecesor y cada elemento de la lista excepto el último
tiene sucesor.
Objetos reales
TAD Lista
Nombre: TAD Lista
Invariante: n/a
Operaciones:

crearLista ()
*/Devuelve un valor del tipo pila preparado para ser usado y que contiene un valor de pila vacía. Esta operación es la misma
que la de las listas generales.*/
                     preCond: N=0
                     posCond: Lista creada
insertar(crearLista, x pos)
*/mediante este método se insertan datos a la lista ya creada. Inserta elemento x en pos*/
                     preCond: pos ¡= null
                     posCond: insertarLista completado (dato insertado en Lista)
Fin():
*/Retorna la posición del último elemento, en otras palabras el “fin” de la lista, también se puede considerar con el tamaño de
la lista. Sí la lista está vacía retorna una posición invalida que podría ser -1.*/
                     preCond: n/a
                     posCond: operación finalizada
siguiente(pos)
*/con este método se retorna pos + 1, si pos es ≥ a fin(), retorna fin().*/
                     preCond: pos!=0
                     posCond: retorna pos
anterior(pos)
*/con este método se retorna pos -1.*/
                     preCond: pos!=0
                     posCond: retorna pos
limpiar(pos)
*/limpia la lista y finaliza fin()*/
                     preCond: n…n+a, pos =0
                     posCond: lista vacia…
Relación entre Ventana y Lista


 Una ventana es un área visual, normalmente de forma rectangular de
 usuario, mostrando la salida y permitiendo la entrada de datos para
 uno de varios procesos que se ejecutan simultáneamente.

 La misma consiste en una secuencia de nodos, en los que se guardan
 campos de datos arbitrarios y una o dos referencias (punteros) al nodo
 anterior o posterior.
 La relación es que con ambos términos nos referimos a manipulación
 de datos sin importar el orden de los mismos, solo el acceso y su
 modificación.
Implementación


Para representar en lenguaje C en esta estructura de datos se utilizarán
punteros, un tipo de datos que suministra el lenguaje. Se representará una
lista vacía con la constante Null. Se puede definir la lista enlazada de la
siguiente manera:
struct lista{
                Int clave;
                Struct lista *sig;
};
E1. Vectores



       Utilizando una estructura de datos estática arreglo para representar e implementar el TAD Listas.
Asumamos que los elementos que contiene la lista son representados por el tipo entero. La cantidad de
elementos que puede contener la lista tiene un máximo de n elementos. Por lo que la representación formal
de este tipo se define de la siguiente manera: tipo Lista= arreglo [1..n] de enteros; Varl:lista;

      Implementación Procedimiento: Operaciones básicas.
      Lista_vacia (var L: Lista)
               Var i: entero;
      Principio
      Para i:= 1 hasta n hacer L[i]:=0;
      Fin;
      Función es_vacia(l:lista):lógico
               Principio
               Si L[1] = 0 entonces es_vacia:= verdad
               Sino es_vacia:= falso;
               Fin;
      Procedimiento insertar (var l:lista, p:
E2. Listas doblemente enlazadas

Una lista enlazada es una de las estructuras de datos
fundamentales, y puede ser usada para implementar otras
estructuras de datos. Consiste en una secuencia de nodos, en los
que se guardan campos de datos arbitrarios y una o dos referencias
(punteros) al nodo anterior o posterior.
El principal beneficio de las listas enlazadas respecto a los array
convencionales es que el orden de los elementos enlazados puede
ser diferente al orden de almacenamiento en la memoria o en el
disco, permitiendo que el orden de recorrido de la lista sea
diferente al de almacenamiento.
Una ventaja es que pueden recorrerse en ambos sentidos, ya sea
para efectuar una operación con cada elemento o para insertar y/o
actualizar y borrar.
Como los lenguajes de programación permiten
implementar las listas




 En java se encuentra un paquete completo en java.util de donde
se pueden utilizar las listas, como un tipo abstracto de datos, este
tipo de estructura de datos también se utiliza a partir de una
interfaz.

 En C se utilizan los llamados punteros para representar esta
estructura de datos.
Estructura PILA
Definiciones

Es un caso especial de lista en la cual todas las inserciones y supresiones
tienen lugar en un extremo determinado llamado tope.

Las pilas también son llamadas listas LIFO (Last In- First Out). En el TAD Pila no
se definen operaciones de posicionamiento en la pila. Esto es debido a que
todas las operaciones de acceso se realizan en la misma posición, o sea en el
tope de la pila.
Objetos Reales
Implementación

 Nombre: TAD Pila
 Invariante: n<>0
 Operaciones:
 crearPila()
 */Devuelve un valor del tipo pila preparado para ser usado y que contiene un valor de pila vacía. Esta operación es
 la misma que la de las listas generales.*/
                preCond: N=0
                posCond: pila creada
 insertarPila(crearPila)
 */mediante este método se insertan datos a la pila ya creada. Con estas se usa el método push para insertar*/
                preCond: pila<>null
                posCond: insertarPila completado (datos insertados en pila)
 borrarPila()
 */con este método se elimina cierta pila de datos*/
                preCond: pila<>null
                posCond: pila eliminada
Estructura COLA


 Es una estructura de datos lineal en donde las
 eliminaciones se realizan por uno de sus
 extremos que normalmente se llama frente, y
 las inserciones se realizan por el otro extremo
 que normalmente se llama final. A estas
 estructuras se les llama FIFO (First-In First-Out).
Implementación

Nombre: TAD Cola
Invariante: n/a
Operaciones:
crearCola()
*/Devuelve un valor del tipo cola preparado para ser usado y que contiene un valor de pila vacia. Esta operación es la
misma que la de las listas generales.*/
               preCond: N=0
               posCond: cola vacia creada
insertarCola(crearCola)
*/mediante este método se insertan datos a la cola ya creada.*/
               preCond: cola<>null
               posCond: datos insertados en la cola, cola insertada.
borrarCola()
*/con este método se elimina cierta cola de datos*/
               preCond: cola!=0
               posCond: cola eliminada
Particularidades de un TAD Cola
con prioridades


 Se introduce una forma de simular generalidad en los TADs de Modula-2
 mediante el uso del TAD ITEM.

 En una cola de prioridad los elementos están ordenados dependiendo de
 su prioridad, de manera que esté disponible (para las operaciones Frente y
 Extraer) el elemento de máxima prioridad. En caso de igualdad se sigue la
 regla FIFO de dos elementos con igual prioridad, sale primero el que entra
 primero. Esto se puede conseguir bien insertando ordenadamente y
 extrayendo el primer elemento.
Implementación de Cola con
vectores circulares.




  Public class Cola {

                   Private static int max = 100;
                   Private Objetc elementos[];
                   Private int frente, post;
  }

Weitere ähnliche Inhalte

Was ist angesagt? (20)

Listas
ListasListas
Listas
 
Tipos de listas en estructura de datos
Tipos de listas en estructura de datosTipos de listas en estructura de datos
Tipos de listas en estructura de datos
 
Lista, pilas y colas
Lista, pilas y colasLista, pilas y colas
Lista, pilas y colas
 
Estructuras de datos lineales
Estructuras de datos linealesEstructuras de datos lineales
Estructuras de datos lineales
 
Listas,pilas&colas yorka
Listas,pilas&colas yorkaListas,pilas&colas yorka
Listas,pilas&colas yorka
 
Pilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datosPilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datos
 
Estructuras dinámicas
Estructuras dinámicasEstructuras dinámicas
Estructuras dinámicas
 
Lista,pilas y columnas
Lista,pilas y columnasLista,pilas y columnas
Lista,pilas y columnas
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
Apuntadores y listas
Apuntadores y listasApuntadores y listas
Apuntadores y listas
 
Lista simple
Lista simpleLista simple
Lista simple
 
Listas y Pilas
Listas y PilasListas y Pilas
Listas y Pilas
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
Unidad 3 estructuras lineales estaticas y dinamicas
Unidad 3 estructuras lineales estaticas y dinamicasUnidad 3 estructuras lineales estaticas y dinamicas
Unidad 3 estructuras lineales estaticas y dinamicas
 
Estructura de datos. listas, pilas y colas
Estructura de datos. listas, pilas y colasEstructura de datos. listas, pilas y colas
Estructura de datos. listas, pilas y colas
 
Listas Pilas Colas
Listas Pilas ColasListas Pilas Colas
Listas Pilas Colas
 
Estructura de datos Pilas, Colas y Listas.
Estructura de datos Pilas, Colas y Listas.Estructura de datos Pilas, Colas y Listas.
Estructura de datos Pilas, Colas y Listas.
 
Colas en programacion
Colas en programacionColas en programacion
Colas en programacion
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
Listas Encadenadas Jose Tannous
Listas Encadenadas Jose TannousListas Encadenadas Jose Tannous
Listas Encadenadas Jose Tannous
 

Ähnlich wie ED Listas, Pilas y Colas

Estructura de datos listas, pilas y colas
Estructura de datos listas, pilas y colasEstructura de datos listas, pilas y colas
Estructura de datos listas, pilas y colasElias Peña
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datoscharlezgt
 
Listas pilascolas edward.mejia-10-1314
Listas pilascolas edward.mejia-10-1314Listas pilascolas edward.mejia-10-1314
Listas pilascolas edward.mejia-10-1314Edward Mejia Gomez
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colasMaxDLeon
 
Listas,pilas y colas
Listas,pilas y colasListas,pilas y colas
Listas,pilas y colasBlackzerox
 
Listas pilas colas
Listas pilas colasListas pilas colas
Listas pilas colasxpiner
 
Tad lista, pilas y colas
Tad lista, pilas y colasTad lista, pilas y colas
Tad lista, pilas y colaslabarra90
 
Tad lista, pilas y colas
Tad lista, pilas y colasTad lista, pilas y colas
Tad lista, pilas y colaslabarra90
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colasElvis Perez
 
Listas pilas colas_carlos_rosario10-1337
Listas pilas colas_carlos_rosario10-1337Listas pilas colas_carlos_rosario10-1337
Listas pilas colas_carlos_rosario10-1337CJrosario2
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrbviela6
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrbviela6
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrbviela6
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrbviela6
 

Ähnlich wie ED Listas, Pilas y Colas (20)

Estructura de datos listas, pilas y colas
Estructura de datos listas, pilas y colasEstructura de datos listas, pilas y colas
Estructura de datos listas, pilas y colas
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Listas pilascolas edward.mejia-10-1314
Listas pilascolas edward.mejia-10-1314Listas pilascolas edward.mejia-10-1314
Listas pilascolas edward.mejia-10-1314
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
Listas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de DatosListas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de Datos
 
Listas,pilas y colas
Listas,pilas y colasListas,pilas y colas
Listas,pilas y colas
 
Listas pilas colas
Listas pilas colasListas pilas colas
Listas pilas colas
 
Saiymari colas, filas y nos e que otra cosa
Saiymari colas, filas y nos e que otra cosaSaiymari colas, filas y nos e que otra cosa
Saiymari colas, filas y nos e que otra cosa
 
Colas, filas
Colas, filasColas, filas
Colas, filas
 
Tad lista, pilas y colas
Tad lista, pilas y colasTad lista, pilas y colas
Tad lista, pilas y colas
 
Tad lista, pilas y colas
Tad lista, pilas y colasTad lista, pilas y colas
Tad lista, pilas y colas
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
Listas pilas colas_carlos_rosario10-1337
Listas pilas colas_carlos_rosario10-1337Listas pilas colas_carlos_rosario10-1337
Listas pilas colas_carlos_rosario10-1337
 
Darwin rodriguez 12-0861_pilasy_colas
Darwin rodriguez 12-0861_pilasy_colasDarwin rodriguez 12-0861_pilasy_colas
Darwin rodriguez 12-0861_pilasy_colas
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrb
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrb
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrb
 
Estructura de datos.vrb
Estructura de datos.vrbEstructura de datos.vrb
Estructura de datos.vrb
 

Kürzlich hochgeladen

Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesMarisolMartinez707897
 
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfPlan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfcarolinamartinezsev
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfRosabel UA
 
Actividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docxActividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docxpaogar2178
 
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...JAVIER SOLIS NOYOLA
 
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...JoseMartinMalpartida1
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024IES Vicent Andres Estelles
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxiemerc2024
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024IES Vicent Andres Estelles
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Juan Martín Martín
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024IES Vicent Andres Estelles
 
Código Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de VenezuelaCódigo Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de Venezuelabeltranponce75
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptAlberto Rubio
 
Factores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfFactores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfJonathanCovena1
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfGruberACaraballo
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIAFabiolaGarcia751855
 

Kürzlich hochgeladen (20)

Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtuales
 
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfPlan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdf
 
Actividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docxActividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docx
 
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
 
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
Código Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de VenezuelaCódigo Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de Venezuela
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
Los dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la VerdadLos dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la Verdad
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
Factores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfFactores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdf
 
Power Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptxPower Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptx
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdf
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
 

ED Listas, Pilas y Colas

  • 2. Contenido Estructura de LISTA Estructura PILA Estructura COLA
  • 3. Definiciones Es una estructura de datos secuencial. Es una estructura de datos homogénea y dinámica, que va a estar formada por una secuencia de elementos, donde cada uno de ellos va seguido de otro o de ninguno. Homogénea: Todos los elementos que la forman tienen el mismo tipo base. Dinámica: Puede crecer o decrecer en tiempo de ejecución según nuestras necesidades. dos listas pueden ser diferentes si: Las listas son secuencias de 0 ó más elementos de un tipo de datos almacenados en memoria. Son estructuras lineales donde cada elemento de una lista excepto el primero tiene un único predecesor y cada elemento de la lista excepto el último tiene sucesor.
  • 5. TAD Lista Nombre: TAD Lista Invariante: n/a Operaciones: crearLista () */Devuelve un valor del tipo pila preparado para ser usado y que contiene un valor de pila vacía. Esta operación es la misma que la de las listas generales.*/ preCond: N=0 posCond: Lista creada insertar(crearLista, x pos) */mediante este método se insertan datos a la lista ya creada. Inserta elemento x en pos*/ preCond: pos ¡= null posCond: insertarLista completado (dato insertado en Lista) Fin(): */Retorna la posición del último elemento, en otras palabras el “fin” de la lista, también se puede considerar con el tamaño de la lista. Sí la lista está vacía retorna una posición invalida que podría ser -1.*/ preCond: n/a posCond: operación finalizada siguiente(pos) */con este método se retorna pos + 1, si pos es ≥ a fin(), retorna fin().*/ preCond: pos!=0 posCond: retorna pos anterior(pos) */con este método se retorna pos -1.*/ preCond: pos!=0 posCond: retorna pos limpiar(pos) */limpia la lista y finaliza fin()*/ preCond: n…n+a, pos =0 posCond: lista vacia…
  • 6. Relación entre Ventana y Lista Una ventana es un área visual, normalmente de forma rectangular de usuario, mostrando la salida y permitiendo la entrada de datos para uno de varios procesos que se ejecutan simultáneamente. La misma consiste en una secuencia de nodos, en los que se guardan campos de datos arbitrarios y una o dos referencias (punteros) al nodo anterior o posterior. La relación es que con ambos términos nos referimos a manipulación de datos sin importar el orden de los mismos, solo el acceso y su modificación.
  • 7. Implementación Para representar en lenguaje C en esta estructura de datos se utilizarán punteros, un tipo de datos que suministra el lenguaje. Se representará una lista vacía con la constante Null. Se puede definir la lista enlazada de la siguiente manera: struct lista{ Int clave; Struct lista *sig; };
  • 8. E1. Vectores Utilizando una estructura de datos estática arreglo para representar e implementar el TAD Listas. Asumamos que los elementos que contiene la lista son representados por el tipo entero. La cantidad de elementos que puede contener la lista tiene un máximo de n elementos. Por lo que la representación formal de este tipo se define de la siguiente manera: tipo Lista= arreglo [1..n] de enteros; Varl:lista; Implementación Procedimiento: Operaciones básicas. Lista_vacia (var L: Lista) Var i: entero; Principio Para i:= 1 hasta n hacer L[i]:=0; Fin; Función es_vacia(l:lista):lógico Principio Si L[1] = 0 entonces es_vacia:= verdad Sino es_vacia:= falso; Fin; Procedimiento insertar (var l:lista, p:
  • 9. E2. Listas doblemente enlazadas Una lista enlazada es una de las estructuras de datos fundamentales, y puede ser usada para implementar otras estructuras de datos. Consiste en una secuencia de nodos, en los que se guardan campos de datos arbitrarios y una o dos referencias (punteros) al nodo anterior o posterior. El principal beneficio de las listas enlazadas respecto a los array convencionales es que el orden de los elementos enlazados puede ser diferente al orden de almacenamiento en la memoria o en el disco, permitiendo que el orden de recorrido de la lista sea diferente al de almacenamiento. Una ventaja es que pueden recorrerse en ambos sentidos, ya sea para efectuar una operación con cada elemento o para insertar y/o actualizar y borrar.
  • 10. Como los lenguajes de programación permiten implementar las listas  En java se encuentra un paquete completo en java.util de donde se pueden utilizar las listas, como un tipo abstracto de datos, este tipo de estructura de datos también se utiliza a partir de una interfaz.  En C se utilizan los llamados punteros para representar esta estructura de datos.
  • 11. Estructura PILA Definiciones Es un caso especial de lista en la cual todas las inserciones y supresiones tienen lugar en un extremo determinado llamado tope. Las pilas también son llamadas listas LIFO (Last In- First Out). En el TAD Pila no se definen operaciones de posicionamiento en la pila. Esto es debido a que todas las operaciones de acceso se realizan en la misma posición, o sea en el tope de la pila.
  • 13. Implementación Nombre: TAD Pila Invariante: n<>0 Operaciones: crearPila() */Devuelve un valor del tipo pila preparado para ser usado y que contiene un valor de pila vacía. Esta operación es la misma que la de las listas generales.*/ preCond: N=0 posCond: pila creada insertarPila(crearPila) */mediante este método se insertan datos a la pila ya creada. Con estas se usa el método push para insertar*/ preCond: pila<>null posCond: insertarPila completado (datos insertados en pila) borrarPila() */con este método se elimina cierta pila de datos*/ preCond: pila<>null posCond: pila eliminada
  • 14. Estructura COLA Es una estructura de datos lineal en donde las eliminaciones se realizan por uno de sus extremos que normalmente se llama frente, y las inserciones se realizan por el otro extremo que normalmente se llama final. A estas estructuras se les llama FIFO (First-In First-Out).
  • 15. Implementación Nombre: TAD Cola Invariante: n/a Operaciones: crearCola() */Devuelve un valor del tipo cola preparado para ser usado y que contiene un valor de pila vacia. Esta operación es la misma que la de las listas generales.*/ preCond: N=0 posCond: cola vacia creada insertarCola(crearCola) */mediante este método se insertan datos a la cola ya creada.*/ preCond: cola<>null posCond: datos insertados en la cola, cola insertada. borrarCola() */con este método se elimina cierta cola de datos*/ preCond: cola!=0 posCond: cola eliminada
  • 16. Particularidades de un TAD Cola con prioridades Se introduce una forma de simular generalidad en los TADs de Modula-2 mediante el uso del TAD ITEM. En una cola de prioridad los elementos están ordenados dependiendo de su prioridad, de manera que esté disponible (para las operaciones Frente y Extraer) el elemento de máxima prioridad. En caso de igualdad se sigue la regla FIFO de dos elementos con igual prioridad, sale primero el que entra primero. Esto se puede conseguir bien insertando ordenadamente y extrayendo el primer elemento.
  • 17. Implementación de Cola con vectores circulares. Public class Cola { Private static int max = 100; Private Objetc elementos[]; Private int frente, post; }