SlideShare una empresa de Scribd logo
1 de 31
Estructuras de Datos
Tema: 2 Listas Enlazadas Simples
Docente: Mg. Luis Fernando Aguas B
Las guerras seguirán mientras el color de la piel
siga siendo más importante que el de los ojos
(Bob Marley).
Objetivo
1. Adquirir los conceptos
básicos relacionados con
las EDD
2. Reconocer las
características de las
EDD
● 1.1 Listas Simples:
Operaciones de
inserción,recorrido,
actualización y eliminación
Contenido
1.1 Listas Simples: Operaciones
de inserción,recorrido,
actualización y eliminación
DINAMICA: ENLAZADOS 1/3
● Condiciones:
■ Equipos de varias personas
■ Designar un capitán
■ Cada persona es un elemento relacionado al tema
■ Cada persona define sus características propias
■ Cada actividad se realiza una persona a la vez
■ Cada persona se enlaza por los brazos a otra
persona del equipo
DINAMICA: ENLAZADOS 2/3
● Actividades:
1. Dar el nombre del equipo
2. Agregar un elemento al grupo
■ Al final, Al inicio, Al medio (p valida)
■ Posición 3.5, posición 10000 (p no valida)
3. Quitar un elemento
■ Posición 2, 1 (p válida)
■ Posición 38 (p > # elementos)
4. Buscar un elemento
■ Por posición
DINAMICA: ENLAZADOS 3/3
● Informe: Detallar cada actividad realizada
○ Describa lo realizado paso a paso
○ Describa casos especiales
● Actividades realizadas
○ Agregar un elemento
○ Quitar un elemento
○ Buscar elemento
○ Nombrar elementos
● Actividades NUEVAS
DINAMICA: ENLAZADOS
● CONCLUSIONES
○ Enlazados representa el TDA LISTA
○ Los elementos son los OBJETOS
○ Las características son las VARIABLES
○ Las actividades son los METODOS
○ El detalle de las actividades es el ALGORITMO, que implementa el método.
LISTAS - Ejemplos
ESTUDIANTES
Luis
Juan
Raquel
Irina
Salome
Ruth
José
Luisa
COMPRAS
Pan
Leche
Huevos
Tocino
Carne molida
....
Pollo
....
Aceite
REPUESTOS
Radiador
Inyector
....
Carter
Halógeno
....
Llanta
....
○ DEFINICION:
■ Es una estructura dinámica de elementos
■ Permite insertar y borrar elementos en cualquier posición, uno a la
vez
○ MATEMATICAMENTE
■ Lista es una secuencia de cero o más elementos de un mismo tipo.
■ A1, A2, A3, A4, ........., An-1, An
■ A1 Primer elemento, An Ultimo elemento
■ n Número de elementos (si n=0  Lista VACIA)
TDA: LISTA definición
A1 A2 A3 An-1 An.......
● CARACTERISTICAS
○ ORDEN : son linealmente ordenadas, es decir el
elemento Ai es antecedido por Ai-1 y seguido por Ai+1
○ INICIO: A1 es el primer elemento de la lista excepto si
es Lista nula
○ FIN: An es el elemento final de la lista, excepto si es
Lista nula
○ Una lista NO puede tener espacios RESERVADOS
BLANCOS
○ Inserción y borrado se puede hacer en cualquier
posición de la lista, da mayor FLEXIBILIDAD
LISTAS - Características
LISTAS : operaciones básicas
● Nomenclatura, sea:
● L = Nombre de Lista,
● e = elemento,
● p = posición en lista
Operación básica - Makenull
○ MAKENULL (L)
■ Crea la lista L vacía
■ Retorna posición de lista L
■ Si L existe y tiene elementos, borra la lista previa confirmación
del usuario
○ Consideraciones:
■ La implementación depende de la facilidad del lenguaje
empleada (arreglos, referencias, …).
Operación básica - Insert
○ INSERT (L, e, p)
■ Insertar elemento e en la posición p de lista L
■ Verificar:
● L existe?
● p es válido?
● e es elemento permitido?
■ La posición determina el caso de inserción
● Insertar al inicio, final o en medio.
● Implica desplazar los elementos desde p a p+1 hasta n a
n+1 (si utiliza arreglos).
Operación básica - Delete
○ DELETE (p, L)
■ Borra el elemento de la posición p de la lista L
■ Verificar:
● L existe?
● p es posición válida?
■ El resultado es lista L con un elemento menos
■ Lista L no cambia, si p es fuera de rango de L.
■ Mensaje de confirmación de borrado al usuario.
Operación básica - Print
○ PRINT (L)
■ Imprime los elementos de la lista L en orden de ocurrencia,
a partir del inicio
■ Verificar:
● L existe?
■ Si L no existe, mensaje a usuario
■ Si L existe y no tiene elementos, enviar mensaje “Lista L
vacía” a usuario
■ Imprimir el contenido del primer elemento a último elemento
de lista L, adicionando la posición relativa.
Operación básica - Locate
○ LOCATE (L, e)
■ Localiza el elemento e en la lista L
■ Verificar:
● L existe?
● e es elemento válido de lista?
■ Retorna la posición de la primera ocurrencia de elemento e
en la lista L.
■ Si no existe elemento e en lista L, devuelve mensaje “e no
encontrado en L” al usuario.
Operación básica - Retrieve
○ RETRIEVE (L, p)
■ Retorna el elemento e de la posición p de la lista L
■ Verificar:
● L existe?
● p es posición válido de lista?
○ Si posición p no es válida, enviar mensaje a
usuario respectivo.
■ Devuelve el elemento e de la posición p.
Operación básica - First
○ FIRST (L)
■ Retorna el primer elemento e de la lista L
■ Verificar:
● L existe?
● Sí L no existe, enviar mensaje a usuario.
■ Verificar:
● L es vacía?
● Si L es vacía, enviar mensaje a usuario.
Operación básica - End
○ END (L)
■ Retorna el último elemento e de la lista L
■ Verificar:
● L existe?
● Sí L no existe, enviar mensaje a usuario.
■ Verificar:
● L es vacía?
● Si L es vacía, enviar mensaje a usuario.
Operación básica - Next
○ NEXT (L, p)
■ Retorna el elemento e siguiente a la posición p de la lista
L.
■ Verificar:
● L existe? Sí L no existe, enviar mensaje a usuario.
● L es vacía? Sí L es vacía, enviar mensaje a usuario
● p es posición válida? Sí p no válida enviar mensaje
a usuario.
■ Sí p = n-1 entonces devuelve END (L)
■ Sí p > n-1, enviar mensaje posición fuera de rango.
Operación básica - Previous
○ PREVIOUS (L, p)
■ Retorna el elemento e anterior a la posición p de la lista L.
■ Verificar:
● L existe? Sí L no existe, enviar mensaje a usuario.
● L es vacía? Sí L es vacía, enviar mensaje a usuario
● p es posición válida? Sí p no válida enviar mensaje a
usuario.
■ Sí p = 2 entonces devuelve FIRST (L)
■ Sí p = 1, enviar mensaje posición fuera de rango.
LISTAS:
Implementación en Java
○ Java permite implementar el tipo de dato abstracto LISTA mediante:
■ Arreglos
■ Referencias
■ Cursores
○ CONSIDERACIONES GENERALES
■ Definir un arreglo por cada lista.
■ La relación que existe entre posición p e índice i del
arreglo es: p = i + 1
■ Índice y posición son valores enteros > o = a cero (0)
■ El arreglo debe inicializarse con valores predefinidos
■ El arreglo existe independiente de si existe la lista o no.
■ El arreglo tiene un tamaño máximo, que puede ser
desbordado si existe mayor número de elementos.
LISTAS utilizando ARREGLOS
○ CONSIDERACIONES DE METODOS
■ Makenull(L) inicializa el arreglo y las variables auxiliares.
■ Insert(L, p, e) desplaza los elementos posteriores a p
para permitir el ingreso de e. Considerar overflow
■ Delete(L, p) comprime los elementos posteriores a p.
■ Print(L) se hace desde índice 0 hasta encontrar valor
predefinido de inicialización; o, hasta el último índice
ocupado.
■ First (L) es el elemento del índice 0
LISTAS utilizando arreglos
LISTAS utilizando arreglos
1
2
3
4
5
6
7
8
9
10
Ana
Carlos
Camila
Darío
Juan
Zoila
&&&
&&&
Posición Inicio
Posición Fin
&&&
&&&
0
1
2
3
4
5
6
7
8
9
Índice inicial
Índice final
○ Ejemplo de implementación:
■ ListaA.java
● Implementación de los métodos básicos de listas utilizando
arreglo.
■ ListaAPrincipal.java
● Menú de interacción con el usuario para que realice los
métodos de listas.
○ Ejecución de clase ListaAPrincipal
■ Considerar validaciones
Implementación LISTAS con arreglos
ListaA.java
ListaAPrincipal.java
ListaAPrincipal.class (Ejecución)
Gracias
Responsabilidad con pensamiento positivo

Más contenido relacionado

La actualidad más candente

Identificadores en Lógia de Programación
Identificadores en Lógia de ProgramaciónIdentificadores en Lógia de Programación
Identificadores en Lógia de Programaciónnormaroldano
 
Programación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenadosProgramación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenadosAngel Vázquez Patiño
 
Algoritmos de busqueda - hash truncamiento
Algoritmos de busqueda - hash truncamientoAlgoritmos de busqueda - hash truncamiento
Algoritmos de busqueda - hash truncamientoLutzo Guzmán
 
Metodos de-ordenamiento
Metodos de-ordenamientoMetodos de-ordenamiento
Metodos de-ordenamientodeff000001
 
Variables de-programación
Variables de-programaciónVariables de-programación
Variables de-programaciónKarenNaranjoH
 
Programación 3: árboles de búsqueda equilibrados
Programación 3: árboles de búsqueda equilibradosProgramación 3: árboles de búsqueda equilibrados
Programación 3: árboles de búsqueda equilibradosAngel Vázquez Patiño
 
Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Osiris Mirerus
 
Eliminar elementos de una cola
Eliminar elementos de una colaEliminar elementos de una cola
Eliminar elementos de una colajeffersoncenteno
 
Informa identificadores 02
Informa identificadores 02Informa identificadores 02
Informa identificadores 02normaroldano
 
Exposicion Busqueda
Exposicion BusquedaExposicion Busqueda
Exposicion BusquedaAngie Suarez
 

La actualidad más candente (20)

Árboles binarios, ABB y AVL
Árboles binarios, ABB y AVLÁrboles binarios, ABB y AVL
Árboles binarios, ABB y AVL
 
Listas
ListasListas
Listas
 
Método por plegamiento Hash
Método por plegamiento HashMétodo por plegamiento Hash
Método por plegamiento Hash
 
Tipos de datos abstractos
Tipos de datos abstractosTipos de datos abstractos
Tipos de datos abstractos
 
Pointers in c++
Pointers in c++Pointers in c++
Pointers in c++
 
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
 
Identificadores en Lógia de Programación
Identificadores en Lógia de ProgramaciónIdentificadores en Lógia de Programación
Identificadores en Lógia de Programación
 
Programación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenadosProgramación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenados
 
Programación 3: colas
Programación 3: colasProgramación 3: colas
Programación 3: colas
 
Algoritmos de busqueda - hash truncamiento
Algoritmos de busqueda - hash truncamientoAlgoritmos de busqueda - hash truncamiento
Algoritmos de busqueda - hash truncamiento
 
Metodos de-ordenamiento
Metodos de-ordenamientoMetodos de-ordenamiento
Metodos de-ordenamiento
 
Variables de-programación
Variables de-programaciónVariables de-programación
Variables de-programación
 
Estructuras de datos lineales
Estructuras de datos linealesEstructuras de datos lineales
Estructuras de datos lineales
 
Árboles Multicamino, B y B+
Árboles Multicamino, B y B+Árboles Multicamino, B y B+
Árboles Multicamino, B y B+
 
Programación 3: árboles de búsqueda equilibrados
Programación 3: árboles de búsqueda equilibradosProgramación 3: árboles de búsqueda equilibrados
Programación 3: árboles de búsqueda equilibrados
 
Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1
 
Eliminar elementos de una cola
Eliminar elementos de una colaEliminar elementos de una cola
Eliminar elementos de una cola
 
Informa identificadores 02
Informa identificadores 02Informa identificadores 02
Informa identificadores 02
 
Aplicaciones de los árboles y grafos
Aplicaciones de los árboles y grafosAplicaciones de los árboles y grafos
Aplicaciones de los árboles y grafos
 
Exposicion Busqueda
Exposicion BusquedaExposicion Busqueda
Exposicion Busqueda
 

Similar a S3-EDD-2.1 Listas Simples: Operaciones de inserción, recorrido, actualización y eliminación

Estructuras de datos Listas enlazadas pdf
Estructuras de datos Listas enlazadas pdfEstructuras de datos Listas enlazadas pdf
Estructuras de datos Listas enlazadas pdfErikaPila2
 
S4-EDD-2.2 Operaciones de búsqueda y clasificación
S4-EDD-2.2 Operaciones de búsqueda y clasificaciónS4-EDD-2.2 Operaciones de búsqueda y clasificación
S4-EDD-2.2 Operaciones de búsqueda y clasificaciónLuis Fernando Aguas Bucheli
 
Estructuras de datos
Estructuras de datosEstructuras de datos
Estructuras de datosJ Carlos
 
Apuntes Nº4 (TDA Estructuras Lineales).pptx
Apuntes Nº4 (TDA Estructuras Lineales).pptxApuntes Nº4 (TDA Estructuras Lineales).pptx
Apuntes Nº4 (TDA Estructuras Lineales).pptxCamilaCabrera47
 

Similar a S3-EDD-2.1 Listas Simples: Operaciones de inserción, recorrido, actualización y eliminación (7)

Estructuras de datos Listas enlazadas pdf
Estructuras de datos Listas enlazadas pdfEstructuras de datos Listas enlazadas pdf
Estructuras de datos Listas enlazadas pdf
 
S4-EDD-2.2 Operaciones de búsqueda y clasificación
S4-EDD-2.2 Operaciones de búsqueda y clasificaciónS4-EDD-2.2 Operaciones de búsqueda y clasificación
S4-EDD-2.2 Operaciones de búsqueda y clasificación
 
S5-EDD-3.1 Listas doblemente enlazadas
S5-EDD-3.1 Listas doblemente enlazadasS5-EDD-3.1 Listas doblemente enlazadas
S5-EDD-3.1 Listas doblemente enlazadas
 
Ed002
Ed002Ed002
Ed002
 
Estructuras de datos
Estructuras de datosEstructuras de datos
Estructuras de datos
 
Gilmora
GilmoraGilmora
Gilmora
 
Apuntes Nº4 (TDA Estructuras Lineales).pptx
Apuntes Nº4 (TDA Estructuras Lineales).pptxApuntes Nº4 (TDA Estructuras Lineales).pptx
Apuntes Nº4 (TDA Estructuras Lineales).pptx
 

Más de Luis Fernando Aguas Bucheli (20)

EFC-ISW-Luis Fernando Aguas.pptx
EFC-ISW-Luis Fernando Aguas.pptxEFC-ISW-Luis Fernando Aguas.pptx
EFC-ISW-Luis Fernando Aguas.pptx
 
P-S2.pptx
P-S2.pptxP-S2.pptx
P-S2.pptx
 
EBTS-S1.pptx
EBTS-S1.pptxEBTS-S1.pptx
EBTS-S1.pptx
 
P-S3.pptx
P-S3.pptxP-S3.pptx
P-S3.pptx
 
EBTS-S4.pptx
EBTS-S4.pptxEBTS-S4.pptx
EBTS-S4.pptx
 
P-S4.pptx
P-S4.pptxP-S4.pptx
P-S4.pptx
 
P-S1.pptx
P-S1.pptxP-S1.pptx
P-S1.pptx
 
EBTS-S3.pptx
EBTS-S3.pptxEBTS-S3.pptx
EBTS-S3.pptx
 
EBTS-S2.pptx
EBTS-S2.pptxEBTS-S2.pptx
EBTS-S2.pptx
 
PDIDTI-S7.pptx
PDIDTI-S7.pptxPDIDTI-S7.pptx
PDIDTI-S7.pptx
 
PDIDTI-S4.pptx
PDIDTI-S4.pptxPDIDTI-S4.pptx
PDIDTI-S4.pptx
 
PDIDTI-S2.pptx
PDIDTI-S2.pptxPDIDTI-S2.pptx
PDIDTI-S2.pptx
 
PDIDTI-S1.pptx
PDIDTI-S1.pptxPDIDTI-S1.pptx
PDIDTI-S1.pptx
 
PDIDTI-S8.pptx
PDIDTI-S8.pptxPDIDTI-S8.pptx
PDIDTI-S8.pptx
 
PDIDTI-S6.pptx
PDIDTI-S6.pptxPDIDTI-S6.pptx
PDIDTI-S6.pptx
 
PDIDTI-S5.pptx
PDIDTI-S5.pptxPDIDTI-S5.pptx
PDIDTI-S5.pptx
 
PDIDTI-S3.pptx
PDIDTI-S3.pptxPDIDTI-S3.pptx
PDIDTI-S3.pptx
 
TIC-S4.pptx
TIC-S4.pptxTIC-S4.pptx
TIC-S4.pptx
 
TIC-S3.pptx
TIC-S3.pptxTIC-S3.pptx
TIC-S3.pptx
 
TIC-S2.pptx
TIC-S2.pptxTIC-S2.pptx
TIC-S2.pptx
 

Último

Ejemplos de cadenas de Markov - Ejercicios
Ejemplos de cadenas de Markov - EjerciciosEjemplos de cadenas de Markov - Ejercicios
Ejemplos de cadenas de Markov - EjerciciosMARGARITAMARIAFERNAN1
 
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.pptoscarvielma45
 
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptxNTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptxBRAYANJOSEPTSANJINEZ
 
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZgustavoiashalom
 
Controladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y VentajasControladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y Ventajasjuanprv
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfKEVINYOICIAQUINOSORI
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfedsonzav8
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfmatepura
 
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023RonaldoPaucarMontes
 
TEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdf
TEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdfTEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdf
TEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdfXimenaFallaLecca1
 
osciloscopios Mediciones Electricas ingenieria.pdf
osciloscopios Mediciones Electricas ingenieria.pdfosciloscopios Mediciones Electricas ingenieria.pdf
osciloscopios Mediciones Electricas ingenieria.pdfIvanRetambay
 
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdfMODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdfvladimirpaucarmontes
 
PostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDPostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDEdith Puclla
 
clasificasion de vias arteriales , vias locales
clasificasion de vias arteriales , vias localesclasificasion de vias arteriales , vias locales
clasificasion de vias arteriales , vias localesMIGUELANGEL2658
 
Principales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards DemingPrincipales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards DemingKevinCabrera96
 
clases de porcinos generales de porcinos
clases de porcinos generales de porcinosclases de porcinos generales de porcinos
clases de porcinos generales de porcinosDayanaCarolinaAP
 
Obras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónObras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónXimenaFallaLecca1
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfMikkaelNicolae
 
Tinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaTinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaAlexanderimanolLencr
 
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptxCALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptxCarlosGabriel96
 

Último (20)

Ejemplos de cadenas de Markov - Ejercicios
Ejemplos de cadenas de Markov - EjerciciosEjemplos de cadenas de Markov - Ejercicios
Ejemplos de cadenas de Markov - Ejercicios
 
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
 
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptxNTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
 
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
 
Controladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y VentajasControladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y Ventajas
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdf
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdf
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdf
 
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
 
TEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdf
TEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdfTEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdf
TEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdf
 
osciloscopios Mediciones Electricas ingenieria.pdf
osciloscopios Mediciones Electricas ingenieria.pdfosciloscopios Mediciones Electricas ingenieria.pdf
osciloscopios Mediciones Electricas ingenieria.pdf
 
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdfMODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
 
PostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDPostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCD
 
clasificasion de vias arteriales , vias locales
clasificasion de vias arteriales , vias localesclasificasion de vias arteriales , vias locales
clasificasion de vias arteriales , vias locales
 
Principales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards DemingPrincipales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards Deming
 
clases de porcinos generales de porcinos
clases de porcinos generales de porcinosclases de porcinos generales de porcinos
clases de porcinos generales de porcinos
 
Obras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónObras paralizadas en el sector construcción
Obras paralizadas en el sector construcción
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
 
Tinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaTinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiología
 
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptxCALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
 

S3-EDD-2.1 Listas Simples: Operaciones de inserción, recorrido, actualización y eliminación

  • 1. Estructuras de Datos Tema: 2 Listas Enlazadas Simples Docente: Mg. Luis Fernando Aguas B
  • 2. Las guerras seguirán mientras el color de la piel siga siendo más importante que el de los ojos (Bob Marley).
  • 3. Objetivo 1. Adquirir los conceptos básicos relacionados con las EDD 2. Reconocer las características de las EDD ● 1.1 Listas Simples: Operaciones de inserción,recorrido, actualización y eliminación Contenido
  • 4. 1.1 Listas Simples: Operaciones de inserción,recorrido, actualización y eliminación
  • 5. DINAMICA: ENLAZADOS 1/3 ● Condiciones: ■ Equipos de varias personas ■ Designar un capitán ■ Cada persona es un elemento relacionado al tema ■ Cada persona define sus características propias ■ Cada actividad se realiza una persona a la vez ■ Cada persona se enlaza por los brazos a otra persona del equipo
  • 6. DINAMICA: ENLAZADOS 2/3 ● Actividades: 1. Dar el nombre del equipo 2. Agregar un elemento al grupo ■ Al final, Al inicio, Al medio (p valida) ■ Posición 3.5, posición 10000 (p no valida) 3. Quitar un elemento ■ Posición 2, 1 (p válida) ■ Posición 38 (p > # elementos) 4. Buscar un elemento ■ Por posición
  • 7. DINAMICA: ENLAZADOS 3/3 ● Informe: Detallar cada actividad realizada ○ Describa lo realizado paso a paso ○ Describa casos especiales ● Actividades realizadas ○ Agregar un elemento ○ Quitar un elemento ○ Buscar elemento ○ Nombrar elementos ● Actividades NUEVAS
  • 8. DINAMICA: ENLAZADOS ● CONCLUSIONES ○ Enlazados representa el TDA LISTA ○ Los elementos son los OBJETOS ○ Las características son las VARIABLES ○ Las actividades son los METODOS ○ El detalle de las actividades es el ALGORITMO, que implementa el método.
  • 9. LISTAS - Ejemplos ESTUDIANTES Luis Juan Raquel Irina Salome Ruth José Luisa COMPRAS Pan Leche Huevos Tocino Carne molida .... Pollo .... Aceite REPUESTOS Radiador Inyector .... Carter Halógeno .... Llanta ....
  • 10. ○ DEFINICION: ■ Es una estructura dinámica de elementos ■ Permite insertar y borrar elementos en cualquier posición, uno a la vez ○ MATEMATICAMENTE ■ Lista es una secuencia de cero o más elementos de un mismo tipo. ■ A1, A2, A3, A4, ........., An-1, An ■ A1 Primer elemento, An Ultimo elemento ■ n Número de elementos (si n=0  Lista VACIA) TDA: LISTA definición A1 A2 A3 An-1 An.......
  • 11. ● CARACTERISTICAS ○ ORDEN : son linealmente ordenadas, es decir el elemento Ai es antecedido por Ai-1 y seguido por Ai+1 ○ INICIO: A1 es el primer elemento de la lista excepto si es Lista nula ○ FIN: An es el elemento final de la lista, excepto si es Lista nula ○ Una lista NO puede tener espacios RESERVADOS BLANCOS ○ Inserción y borrado se puede hacer en cualquier posición de la lista, da mayor FLEXIBILIDAD LISTAS - Características
  • 12. LISTAS : operaciones básicas ● Nomenclatura, sea: ● L = Nombre de Lista, ● e = elemento, ● p = posición en lista
  • 13. Operación básica - Makenull ○ MAKENULL (L) ■ Crea la lista L vacía ■ Retorna posición de lista L ■ Si L existe y tiene elementos, borra la lista previa confirmación del usuario ○ Consideraciones: ■ La implementación depende de la facilidad del lenguaje empleada (arreglos, referencias, …).
  • 14. Operación básica - Insert ○ INSERT (L, e, p) ■ Insertar elemento e en la posición p de lista L ■ Verificar: ● L existe? ● p es válido? ● e es elemento permitido? ■ La posición determina el caso de inserción ● Insertar al inicio, final o en medio. ● Implica desplazar los elementos desde p a p+1 hasta n a n+1 (si utiliza arreglos).
  • 15. Operación básica - Delete ○ DELETE (p, L) ■ Borra el elemento de la posición p de la lista L ■ Verificar: ● L existe? ● p es posición válida? ■ El resultado es lista L con un elemento menos ■ Lista L no cambia, si p es fuera de rango de L. ■ Mensaje de confirmación de borrado al usuario.
  • 16. Operación básica - Print ○ PRINT (L) ■ Imprime los elementos de la lista L en orden de ocurrencia, a partir del inicio ■ Verificar: ● L existe? ■ Si L no existe, mensaje a usuario ■ Si L existe y no tiene elementos, enviar mensaje “Lista L vacía” a usuario ■ Imprimir el contenido del primer elemento a último elemento de lista L, adicionando la posición relativa.
  • 17. Operación básica - Locate ○ LOCATE (L, e) ■ Localiza el elemento e en la lista L ■ Verificar: ● L existe? ● e es elemento válido de lista? ■ Retorna la posición de la primera ocurrencia de elemento e en la lista L. ■ Si no existe elemento e en lista L, devuelve mensaje “e no encontrado en L” al usuario.
  • 18. Operación básica - Retrieve ○ RETRIEVE (L, p) ■ Retorna el elemento e de la posición p de la lista L ■ Verificar: ● L existe? ● p es posición válido de lista? ○ Si posición p no es válida, enviar mensaje a usuario respectivo. ■ Devuelve el elemento e de la posición p.
  • 19. Operación básica - First ○ FIRST (L) ■ Retorna el primer elemento e de la lista L ■ Verificar: ● L existe? ● Sí L no existe, enviar mensaje a usuario. ■ Verificar: ● L es vacía? ● Si L es vacía, enviar mensaje a usuario.
  • 20. Operación básica - End ○ END (L) ■ Retorna el último elemento e de la lista L ■ Verificar: ● L existe? ● Sí L no existe, enviar mensaje a usuario. ■ Verificar: ● L es vacía? ● Si L es vacía, enviar mensaje a usuario.
  • 21. Operación básica - Next ○ NEXT (L, p) ■ Retorna el elemento e siguiente a la posición p de la lista L. ■ Verificar: ● L existe? Sí L no existe, enviar mensaje a usuario. ● L es vacía? Sí L es vacía, enviar mensaje a usuario ● p es posición válida? Sí p no válida enviar mensaje a usuario. ■ Sí p = n-1 entonces devuelve END (L) ■ Sí p > n-1, enviar mensaje posición fuera de rango.
  • 22. Operación básica - Previous ○ PREVIOUS (L, p) ■ Retorna el elemento e anterior a la posición p de la lista L. ■ Verificar: ● L existe? Sí L no existe, enviar mensaje a usuario. ● L es vacía? Sí L es vacía, enviar mensaje a usuario ● p es posición válida? Sí p no válida enviar mensaje a usuario. ■ Sí p = 2 entonces devuelve FIRST (L) ■ Sí p = 1, enviar mensaje posición fuera de rango.
  • 23. LISTAS: Implementación en Java ○ Java permite implementar el tipo de dato abstracto LISTA mediante: ■ Arreglos ■ Referencias ■ Cursores
  • 24. ○ CONSIDERACIONES GENERALES ■ Definir un arreglo por cada lista. ■ La relación que existe entre posición p e índice i del arreglo es: p = i + 1 ■ Índice y posición son valores enteros > o = a cero (0) ■ El arreglo debe inicializarse con valores predefinidos ■ El arreglo existe independiente de si existe la lista o no. ■ El arreglo tiene un tamaño máximo, que puede ser desbordado si existe mayor número de elementos. LISTAS utilizando ARREGLOS
  • 25. ○ CONSIDERACIONES DE METODOS ■ Makenull(L) inicializa el arreglo y las variables auxiliares. ■ Insert(L, p, e) desplaza los elementos posteriores a p para permitir el ingreso de e. Considerar overflow ■ Delete(L, p) comprime los elementos posteriores a p. ■ Print(L) se hace desde índice 0 hasta encontrar valor predefinido de inicialización; o, hasta el último índice ocupado. ■ First (L) es el elemento del índice 0 LISTAS utilizando arreglos
  • 26. LISTAS utilizando arreglos 1 2 3 4 5 6 7 8 9 10 Ana Carlos Camila Darío Juan Zoila &&& &&& Posición Inicio Posición Fin &&& &&& 0 1 2 3 4 5 6 7 8 9 Índice inicial Índice final
  • 27. ○ Ejemplo de implementación: ■ ListaA.java ● Implementación de los métodos básicos de listas utilizando arreglo. ■ ListaAPrincipal.java ● Menú de interacción con el usuario para que realice los métodos de listas. ○ Ejecución de clase ListaAPrincipal ■ Considerar validaciones Implementación LISTAS con arreglos