SlideShare una empresa de Scribd logo
1 de 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;
  }

Más contenido relacionado

La actualidad más candente (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
 

Similar a 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
 

Similar a 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
 

Último

🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docxEliaHernndez7
 
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
 
Desarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por ValoresDesarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por ValoresJonathanCovena1
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfMercedes Gonzalez
 
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONamelia poma
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfapunteshistoriamarmo
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfpatriciaines1993
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primariaWilian24
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Katherine Concepcion Gonzalez
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalJonathanCovena1
 
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
 
prostitución en España: una mirada integral!
prostitución en España: una mirada integral!prostitución en España: una mirada integral!
prostitución en España: una mirada integral!CatalinaAlfaroChryso
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxFernando Solis
 
AEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptxAEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptxhenarfdez
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxroberthirigoinvasque
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOluismii249
 

Último (20)

🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.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
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
Desarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por ValoresDesarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por Valores
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdf
 
Usos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicasUsos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicas
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración Ambiental
 
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
 
prostitución en España: una mirada integral!
prostitución en España: una mirada integral!prostitución en España: una mirada integral!
prostitución en España: una mirada integral!
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 
AEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptxAEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptx
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
 
Lecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigosLecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigos
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 

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; }