SlideShare una empresa de Scribd logo
1 de 27
M.Sc. Javier David Chávez Centeno
DEPARTAMENTO ACADÉMICO DE INFORMÁTICA
jdchavez5@hotmail.com
CUSCO – PERÚ
2014
UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014
JAVIER DAVID CHÁVEZ CENTENO 2Dpto Académico de Informática
UNIDAD II
TEMA
Listas Enlazadas
UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014
JAVIER DAVID CHÁVEZ CENTENO 3Dpto Académico de Informática
CONTENIDO
1.1 Concepto
1.2 Representación de listas
1.3 Representación recursiva
1.4 El TAD lista recursiva
1.5 Ejemplos
UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014
JAVIER DAVID CHÁVEZ CENTENO 4Dpto Académico de Informática
1.1 CONCEPTO
Una lista puede definirse como una n-tupla
dinámica ordenada:
L = (e1, e2, …., en)
Tipos:
-Listas homogéneas
-Listas heterogéneas.
UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014
JAVIER DAVID CHÁVEZ CENTENO 5Dpto Académico de Informática
1.2 REPRESENTACIÓN DE LISTAS
 Representación convencional
Utiliza nodos constituidos por dos partes:
la primera almacena la información y la
segunda parte es un puntero que
almacena la dirección del siguiente
elemento:
Parte de la
información
Dirección
del sgte.
elemento
UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014
JAVIER DAVID CHÁVEZ CENTENO 6Dpto Académico de Informática
1.2 REPRESENTACIÓN DE LISTAS
Las listas en consecuencia son una
secuencia de nodos enlazados. Ej. Lista de
ciudades:
Una lista tipo diccionario:
casa house rojo red zorro nfox
Cusco Puno Ica Tacna n
UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014
JAVIER DAVID CHÁVEZ CENTENO 7Dpto Académico de Informática
1.2 REPRESENTACIÓN DE LISTAS
Una representación más general es utilizar
nodos donde sus dos componentes son
punteros:
Así, las dos listas anteriores quedan
representadas de la siguiente manera:
Parte de la
información
Dirección
del sgte.
elemento
UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014
JAVIER DAVID CHÁVEZ CENTENO 8Dpto Académico de Informática
1.2 REPRESENTACIÓN DE LISTAS
n
Cusco TacnaIcaPuno
n
casa house rojo red zorro fox
UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014
JAVIER DAVID CHÁVEZ CENTENO 9Dpto Académico de Informática
1.3 REPRESENTACIÓN RECURSIVA
La definición recursiva de una lista es:
Gráficamente tenemos:
Lista n
elementos
Primer
elemento
Lista n -1
elementos
= +
nuloTacnaCusco Puno Ica
Lista de 4 elementos
Lista de 3 elementos
Lista de 2 elementos
Lista de 1 elemento
UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014
JAVIER DAVID CHÁVEZ CENTENO 10Dpto Académico de Informática
1.4 EL TAD LISTA RECURSIVA
Nombre del TAD: Lista
Descripción informal del TDA:
Una lista es una secuencia de elementos.
Lista = (elemento1, elemento2, ….,
elementon)
Recursivamente se define como:
Lista n elem.= Primer elemento + Lista n-1
elem.
UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014
JAVIER DAVID CHÁVEZ CENTENO 11Dpto Académico de Informática
1.4 EL TAD LISTA RECURSIVA
Especificación de la clase CLista
Elementos de la clase:
Lista = (Elemento, SubLista)
^ Elemento є Objeto
^ SubLista є Lista
UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014
JAVIER DAVID CHÁVEZ CENTENO 12Dpto Académico de Informática
1.4 EL TAD LISTA RECURSIVA
Operaciones
 Operaciones primitivas
Lista:  Lista
Lista: Objeto x Lista  Lista
ModificarElemento: Objeto x Lista Lista
ModificarSubLista: Lista x Lista  Lista
Elemento: Lista  Objeto
SubLista: Lista  Lista
EsVacia Lista  Booleano
UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014
JAVIER DAVID CHÁVEZ CENTENO 13Dpto Académico de Informática
1.4 EL TAD LISTA RECURSIVA
 Operaciones derivadas
Insertar: Objeto x Entero x Lista  Lista
Ubicacion: Objeto x Lista  Entero
Iesimo: Entero x Lista  Objeto
Eliminar: Entero x Lista  Lista
Longitud: Lista  Entero
UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014
JAVIER DAVID CHÁVEZ CENTENO 14Dpto Académico de Informática
1.4 EL TAD LISTA RECURSIVA
Axiomas
Definición de variables:
e : Objeto
lista : Lista
k : Entero
k = Ubicacion(e,Insertar(e,k,lista))
e = Iesimo(k,Insertar(e,k,lista))
lista = Eliminar(k,Insertar(e,k,lista))
lista =
Eliminar(Ubicación(“Ica”,Lista(“Ïca”,lista)),lista)
0 = Longitud(Lista())
UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014
JAVIER DAVID CHÁVEZ CENTENO 15Dpto Académico de Informática
1.4 EL TAD LISTA RECURSIVA
 Descripción de las operaciones
Operación insertar
Nombre operación: insertar
Descripción operacional:
Insertar: Objeto x Entero x Lista  Lista
Explicación de la operación:
Inserta un elemento en una determina ubicación de la lista.
Si i =1, inserta al inicio.
Si i = Longitud(lista)+1, inserta al final
Modelo:
Caso Base
Lista(e,lista) si i = 1
Insertar (e,i,lista) =
Caso Recurrente
Insertar (e,i,SubLista(lista)) si i > 1
UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014
JAVIER DAVID CHÁVEZ CENTENO 16Dpto Académico de Informática
1.4 EL TAD LISTA RECURSIVA
Especificación del algoritmo
Diccionario de Variables
Resultados
lista = Lista con elemento insertado en la ubicación i
Datos
e = elemento : Objeto
i = ubicación en la que se debe insertar : Entero
lista = Lista de elementos : Lista
Pre condición
{| 1 <= i <= longitud(lista)+1 |}
Acción que debe realizar el algoritmo
Insertar un elemento en una lista
Pos condición
{| lista = lista con e en la ubicación i |}
UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014
JAVIER DAVID CHÁVEZ CENTENO 17Dpto Académico de Informática
1.4 EL TAD LISTA RECURSIVA
 Operación Ubicacion
Nombre operación: Ubicación
Descripción operacional:
Ubicacion: Objeto x Lista  Entero
Explicación de la operación:
Determina la ubicación en la que se encuentra un elemento en la lista.
Si el elemento no esta en la lista, devuelve CERO
Modelo:
Caso Base
0 si EsVacia(lista)
1 si e=Elemento(lista)
Ubicacion(e,lista) =
Caso Recurrente
1+ Ubicacion(e,subLista(lista)) si no EsVacia(lista)
si e<>Elemento(lista)
UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014
JAVIER DAVID CHÁVEZ CENTENO 18Dpto Académico de Informática
1.4 EL TAD LISTA RECURSIVA
 Operación Iesimo
Nombre operación: Iésimo
Descripción operacional:
Entero x Lista  Objeto
Explicación de la operación:
Determina el i ésimo elemento de la lista
Modelo:
Caso Base
Elemento(lista) si i = 1
Iesimo(i,lista) =
Caso Recurrente
Iesimo(i-1,SubLista(lista)) si i > 1
UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014
JAVIER DAVID CHÁVEZ CENTENO 19Dpto Académico de Informática
1.4 EL TAD LISTA RECURSIVA
 Operación Eliminar
Nombre operación: Eliminar
Descripción operacional:
Entero x Lista  Lista
Explicación de la operación:
Elimina el i ésimo elemento de la lista
Modelo:
Caso Base
lista = subLista (lista) si i = 1
Eliminar(i,lista) =
Caso Recurrente
Eliminar(i -1,SubLista(lista)) si i > 1
UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014
JAVIER DAVID CHÁVEZ CENTENO 20Dpto Académico de Informática
1.4 EL TAD LISTA RECURSIVA
 Operación Longitud
Nombre operación: Longitud
Descripción operacional: Lista  Entero
Explicación de la operación:
Determina el número de elementos de la lista
Modelo:
Caso Base
0 si EsVacia(lista)
Longitud(lista) =
Caso Recurrente
1 + Longitud(subLista(lista)) si no EsVacia(lista)
UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014
JAVIER DAVID CHÁVEZ CENTENO 21Dpto Académico de Informática
1.5 IMPLEMENTACIÓN DEL TAD LISTA RECURSIVA
public class CLista
{
// ============= Atributos ================
private Object aElemento;
private CLista aSubLista;
// ============= Metodos =================
// ------------ Constructores --------------------------------
public CLista()
{
aElemento=null;
aSubLista=null;
}
// -------------------------------------------------------------------
public CLista(Object pElemento,CLista pSubLista)
{
aElemento=pElemento;
aSubLista=pSubLista;
}
UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014
JAVIER DAVID CHÁVEZ CENTENO 22Dpto Académico de Informática
1.5 IMPLEMENTACIÓN DEL TAD LISTA RECURSIVA
// ----------------- Propiedades -----------------------
public Object elemento
{
get
{ return aElemento; }
set
{ aElemento=value;}
}
// -----------------------------------------------------------
public CLista subLista
{
get
{ return aSubLista; }
set
{ aSubLista=value; }
}
UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014
JAVIER DAVID CHÁVEZ CENTENO 23Dpto Académico de Informática
1.5 IMPLEMENTACIÓN DEL TAD LISTA RECURSIVA
// ------------ Otros métodos --------------------------------------
public bool EstaVacia()
{
return ((aElemento==null) && (aSubLista==null));
}
// ---------- Operacion Longitud -----------------------------------
public int Longitud()
{
if (EstaVacia())
return 0;
else
return 1 + aSubLista.Longitud();
}
UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014
JAVIER DAVID CHÁVEZ CENTENO 24Dpto Académico de Informática
1.5 IMPLEMENTACIÓN DEL TAD LISTA RECURSIVA
// ----- Operacion Iesimo -------------------------------
protected Object iesimo(int posicion)
{
if (posicion==1)
return aElemento;
else
return aSubLista.iesimo(posicion-1);
}
// -----------------------------------------------------------
public Object Iesimo(int posicion)
{ // validar la posicion
if (1<=posicion && posicion <= Longitud())
return iesimo(posicion);
else
{ // la posición no es correcta
Console.WriteLine("ERROR: Posición incorrecta");
return null;
}
}
UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014
JAVIER DAVID CHÁVEZ CENTENO 25Dpto Académico de Informática
1.5 IMPLEMENTACIÓN DEL TAD LISTA RECURSIVA
// ---------- Operación Eliminar ----------------------------
protected void eliminar(int posicion)
{
if (posicion==1)
{ // quitar el elemento actual
aElemento=aSubLista.elemento;
aSubLista=aSubLista.subLista;
}
else // eliminar en la sublista
aSubLista.eliminar(posicion-1);
}
// -----------------------------------------------------------------
public void Eliminar(int posicion)
{ // validar la posicion
if (1<=posicion && posicion <= Longitud())
eliminar(posicion);
else
Console.WriteLine("ERROR: Posición incorrecta");
}
UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014
JAVIER DAVID CHÁVEZ CENTENO 26Dpto Académico de Informática
1.5 IMPLEMENTACIÓN DEL TAD LISTA RECURSIVA
//------------ Operación mostrar ----------------------
public void Mostrar()
{//-- muestra el elemento y el resto de la lista
if (!(EstaVacia()))
{
Console.WriteLine(aElemento);
aSubLista.Mostrar();
}
}
} //--- fin de CLista
UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014
JAVIER DAVID CHÁVEZ CENTENO 27Dpto Académico de Informática

Más contenido relacionado

Destacado (17)

06 ingsoft jdchc rup
06 ingsoft jdchc rup06 ingsoft jdchc rup
06 ingsoft jdchc rup
 
02 ads i
02 ads i02 ads i
02 ads i
 
004 delegados jdchc
004 delegados jdchc004 delegados jdchc
004 delegados jdchc
 
005 metodos anonimos jdchc
005 metodos anonimos jdchc005 metodos anonimos jdchc
005 metodos anonimos jdchc
 
05 software computador jdchc
05 software computador jdchc05 software computador jdchc
05 software computador jdchc
 
04 perifericos inf jdchc
04 perifericos inf jdchc04 perifericos inf jdchc
04 perifericos inf jdchc
 
06 redes jdchc
06 redes jdchc06 redes jdchc
06 redes jdchc
 
03 estructuracomputador inf jdchc
03 estructuracomputador inf jdchc03 estructuracomputador inf jdchc
03 estructuracomputador inf jdchc
 
01 introduccion inf jdchc
01 introduccion inf jdchc01 introduccion inf jdchc
01 introduccion inf jdchc
 
002 modelo objetos jdchc
002 modelo objetos jdchc002 modelo objetos jdchc
002 modelo objetos jdchc
 
07 ingsoft jdchc uml
07 ingsoft jdchc uml07 ingsoft jdchc uml
07 ingsoft jdchc uml
 
003 sobrecarga de operadores jdchc
003 sobrecarga de operadores jdchc003 sobrecarga de operadores jdchc
003 sobrecarga de operadores jdchc
 
01 ads i
01 ads i01 ads i
01 ads i
 
05 ingsoft jdchc
05 ingsoft jdchc05 ingsoft jdchc
05 ingsoft jdchc
 
03 ingsoft jdchc
03 ingsoft jdchc03 ingsoft jdchc
03 ingsoft jdchc
 
04 ingsoft jdchc
04 ingsoft jdchc04 ingsoft jdchc
04 ingsoft jdchc
 
Informatica 1
Informatica 1Informatica 1
Informatica 1
 

Similar a 007 listas

Aedii pilas colas_y_recursividad_teoria_sem07_a_sem10
Aedii pilas colas_y_recursividad_teoria_sem07_a_sem10Aedii pilas colas_y_recursividad_teoria_sem07_a_sem10
Aedii pilas colas_y_recursividad_teoria_sem07_a_sem10chrisflores001
 
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
 
ListasEnlazadas-Collections-Generics-Interfaces.docx
ListasEnlazadas-Collections-Generics-Interfaces.docxListasEnlazadas-Collections-Generics-Interfaces.docx
ListasEnlazadas-Collections-Generics-Interfaces.docxJACKMARLONVALQUITRUJ1
 
Estructura de datos I Primera Parte
Estructura de datos I Primera ParteEstructura de datos I Primera Parte
Estructura de datos I Primera Partecarpio
 

Similar a 007 listas (7)

Transparencias3
Transparencias3Transparencias3
Transparencias3
 
Aedii pilas colas_y_recursividad_teoria_sem07_a_sem10
Aedii pilas colas_y_recursividad_teoria_sem07_a_sem10Aedii pilas colas_y_recursividad_teoria_sem07_a_sem10
Aedii pilas colas_y_recursividad_teoria_sem07_a_sem10
 
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
 
LISTAS
LISTASLISTAS
LISTAS
 
Estadística con Lenguaje R: Sesión 4
Estadística con Lenguaje R: Sesión 4Estadística con Lenguaje R: Sesión 4
Estadística con Lenguaje R: Sesión 4
 
ListasEnlazadas-Collections-Generics-Interfaces.docx
ListasEnlazadas-Collections-Generics-Interfaces.docxListasEnlazadas-Collections-Generics-Interfaces.docx
ListasEnlazadas-Collections-Generics-Interfaces.docx
 
Estructura de datos I Primera Parte
Estructura de datos I Primera ParteEstructura de datos I Primera Parte
Estructura de datos I Primera Parte
 

Más de Javier Chávez Centeno (9)

Recursividad 2017 jdchc
Recursividad 2017 jdchcRecursividad 2017 jdchc
Recursividad 2017 jdchc
 
02 ingsoft jdchc
02 ingsoft jdchc02 ingsoft jdchc
02 ingsoft jdchc
 
01 ingsoft jdchc
01 ingsoft jdchc01 ingsoft jdchc
01 ingsoft jdchc
 
06 distribuciones
06 distribuciones06 distribuciones
06 distribuciones
 
05 probabilidades
05 probabilidades05 probabilidades
05 probabilidades
 
04 regresion
04 regresion04 regresion
04 regresion
 
03 d unidimensional
03 d unidimensional03 d unidimensional
03 d unidimensional
 
02 d frecuencias
02 d frecuencias02 d frecuencias
02 d frecuencias
 
Biometría i
Biometría iBiometría i
Biometría i
 

Último

La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxKarlaMassielMartinez
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaDecaunlz
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
Ecosistemas Natural, Rural y urbano 2021.pptx
Ecosistemas Natural, Rural y urbano  2021.pptxEcosistemas Natural, Rural y urbano  2021.pptx
Ecosistemas Natural, Rural y urbano 2021.pptxolgakaterin
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 

Último (20)

La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
Ecosistemas Natural, Rural y urbano 2021.pptx
Ecosistemas Natural, Rural y urbano  2021.pptxEcosistemas Natural, Rural y urbano  2021.pptx
Ecosistemas Natural, Rural y urbano 2021.pptx
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 

007 listas

  • 1. M.Sc. Javier David Chávez Centeno DEPARTAMENTO ACADÉMICO DE INFORMÁTICA jdchavez5@hotmail.com CUSCO – PERÚ 2014
  • 2. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014 JAVIER DAVID CHÁVEZ CENTENO 2Dpto Académico de Informática UNIDAD II TEMA Listas Enlazadas
  • 3. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014 JAVIER DAVID CHÁVEZ CENTENO 3Dpto Académico de Informática CONTENIDO 1.1 Concepto 1.2 Representación de listas 1.3 Representación recursiva 1.4 El TAD lista recursiva 1.5 Ejemplos
  • 4. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014 JAVIER DAVID CHÁVEZ CENTENO 4Dpto Académico de Informática 1.1 CONCEPTO Una lista puede definirse como una n-tupla dinámica ordenada: L = (e1, e2, …., en) Tipos: -Listas homogéneas -Listas heterogéneas.
  • 5. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014 JAVIER DAVID CHÁVEZ CENTENO 5Dpto Académico de Informática 1.2 REPRESENTACIÓN DE LISTAS  Representación convencional Utiliza nodos constituidos por dos partes: la primera almacena la información y la segunda parte es un puntero que almacena la dirección del siguiente elemento: Parte de la información Dirección del sgte. elemento
  • 6. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014 JAVIER DAVID CHÁVEZ CENTENO 6Dpto Académico de Informática 1.2 REPRESENTACIÓN DE LISTAS Las listas en consecuencia son una secuencia de nodos enlazados. Ej. Lista de ciudades: Una lista tipo diccionario: casa house rojo red zorro nfox Cusco Puno Ica Tacna n
  • 7. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014 JAVIER DAVID CHÁVEZ CENTENO 7Dpto Académico de Informática 1.2 REPRESENTACIÓN DE LISTAS Una representación más general es utilizar nodos donde sus dos componentes son punteros: Así, las dos listas anteriores quedan representadas de la siguiente manera: Parte de la información Dirección del sgte. elemento
  • 8. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014 JAVIER DAVID CHÁVEZ CENTENO 8Dpto Académico de Informática 1.2 REPRESENTACIÓN DE LISTAS n Cusco TacnaIcaPuno n casa house rojo red zorro fox
  • 9. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014 JAVIER DAVID CHÁVEZ CENTENO 9Dpto Académico de Informática 1.3 REPRESENTACIÓN RECURSIVA La definición recursiva de una lista es: Gráficamente tenemos: Lista n elementos Primer elemento Lista n -1 elementos = + nuloTacnaCusco Puno Ica Lista de 4 elementos Lista de 3 elementos Lista de 2 elementos Lista de 1 elemento
  • 10. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014 JAVIER DAVID CHÁVEZ CENTENO 10Dpto Académico de Informática 1.4 EL TAD LISTA RECURSIVA Nombre del TAD: Lista Descripción informal del TDA: Una lista es una secuencia de elementos. Lista = (elemento1, elemento2, …., elementon) Recursivamente se define como: Lista n elem.= Primer elemento + Lista n-1 elem.
  • 11. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014 JAVIER DAVID CHÁVEZ CENTENO 11Dpto Académico de Informática 1.4 EL TAD LISTA RECURSIVA Especificación de la clase CLista Elementos de la clase: Lista = (Elemento, SubLista) ^ Elemento є Objeto ^ SubLista є Lista
  • 12. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014 JAVIER DAVID CHÁVEZ CENTENO 12Dpto Académico de Informática 1.4 EL TAD LISTA RECURSIVA Operaciones  Operaciones primitivas Lista:  Lista Lista: Objeto x Lista  Lista ModificarElemento: Objeto x Lista Lista ModificarSubLista: Lista x Lista  Lista Elemento: Lista  Objeto SubLista: Lista  Lista EsVacia Lista  Booleano
  • 13. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014 JAVIER DAVID CHÁVEZ CENTENO 13Dpto Académico de Informática 1.4 EL TAD LISTA RECURSIVA  Operaciones derivadas Insertar: Objeto x Entero x Lista  Lista Ubicacion: Objeto x Lista  Entero Iesimo: Entero x Lista  Objeto Eliminar: Entero x Lista  Lista Longitud: Lista  Entero
  • 14. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014 JAVIER DAVID CHÁVEZ CENTENO 14Dpto Académico de Informática 1.4 EL TAD LISTA RECURSIVA Axiomas Definición de variables: e : Objeto lista : Lista k : Entero k = Ubicacion(e,Insertar(e,k,lista)) e = Iesimo(k,Insertar(e,k,lista)) lista = Eliminar(k,Insertar(e,k,lista)) lista = Eliminar(Ubicación(“Ica”,Lista(“Ïca”,lista)),lista) 0 = Longitud(Lista())
  • 15. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014 JAVIER DAVID CHÁVEZ CENTENO 15Dpto Académico de Informática 1.4 EL TAD LISTA RECURSIVA  Descripción de las operaciones Operación insertar Nombre operación: insertar Descripción operacional: Insertar: Objeto x Entero x Lista  Lista Explicación de la operación: Inserta un elemento en una determina ubicación de la lista. Si i =1, inserta al inicio. Si i = Longitud(lista)+1, inserta al final Modelo: Caso Base Lista(e,lista) si i = 1 Insertar (e,i,lista) = Caso Recurrente Insertar (e,i,SubLista(lista)) si i > 1
  • 16. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014 JAVIER DAVID CHÁVEZ CENTENO 16Dpto Académico de Informática 1.4 EL TAD LISTA RECURSIVA Especificación del algoritmo Diccionario de Variables Resultados lista = Lista con elemento insertado en la ubicación i Datos e = elemento : Objeto i = ubicación en la que se debe insertar : Entero lista = Lista de elementos : Lista Pre condición {| 1 <= i <= longitud(lista)+1 |} Acción que debe realizar el algoritmo Insertar un elemento en una lista Pos condición {| lista = lista con e en la ubicación i |}
  • 17. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014 JAVIER DAVID CHÁVEZ CENTENO 17Dpto Académico de Informática 1.4 EL TAD LISTA RECURSIVA  Operación Ubicacion Nombre operación: Ubicación Descripción operacional: Ubicacion: Objeto x Lista  Entero Explicación de la operación: Determina la ubicación en la que se encuentra un elemento en la lista. Si el elemento no esta en la lista, devuelve CERO Modelo: Caso Base 0 si EsVacia(lista) 1 si e=Elemento(lista) Ubicacion(e,lista) = Caso Recurrente 1+ Ubicacion(e,subLista(lista)) si no EsVacia(lista) si e<>Elemento(lista)
  • 18. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014 JAVIER DAVID CHÁVEZ CENTENO 18Dpto Académico de Informática 1.4 EL TAD LISTA RECURSIVA  Operación Iesimo Nombre operación: Iésimo Descripción operacional: Entero x Lista  Objeto Explicación de la operación: Determina el i ésimo elemento de la lista Modelo: Caso Base Elemento(lista) si i = 1 Iesimo(i,lista) = Caso Recurrente Iesimo(i-1,SubLista(lista)) si i > 1
  • 19. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014 JAVIER DAVID CHÁVEZ CENTENO 19Dpto Académico de Informática 1.4 EL TAD LISTA RECURSIVA  Operación Eliminar Nombre operación: Eliminar Descripción operacional: Entero x Lista  Lista Explicación de la operación: Elimina el i ésimo elemento de la lista Modelo: Caso Base lista = subLista (lista) si i = 1 Eliminar(i,lista) = Caso Recurrente Eliminar(i -1,SubLista(lista)) si i > 1
  • 20. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014 JAVIER DAVID CHÁVEZ CENTENO 20Dpto Académico de Informática 1.4 EL TAD LISTA RECURSIVA  Operación Longitud Nombre operación: Longitud Descripción operacional: Lista  Entero Explicación de la operación: Determina el número de elementos de la lista Modelo: Caso Base 0 si EsVacia(lista) Longitud(lista) = Caso Recurrente 1 + Longitud(subLista(lista)) si no EsVacia(lista)
  • 21. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014 JAVIER DAVID CHÁVEZ CENTENO 21Dpto Académico de Informática 1.5 IMPLEMENTACIÓN DEL TAD LISTA RECURSIVA public class CLista { // ============= Atributos ================ private Object aElemento; private CLista aSubLista; // ============= Metodos ================= // ------------ Constructores -------------------------------- public CLista() { aElemento=null; aSubLista=null; } // ------------------------------------------------------------------- public CLista(Object pElemento,CLista pSubLista) { aElemento=pElemento; aSubLista=pSubLista; }
  • 22. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014 JAVIER DAVID CHÁVEZ CENTENO 22Dpto Académico de Informática 1.5 IMPLEMENTACIÓN DEL TAD LISTA RECURSIVA // ----------------- Propiedades ----------------------- public Object elemento { get { return aElemento; } set { aElemento=value;} } // ----------------------------------------------------------- public CLista subLista { get { return aSubLista; } set { aSubLista=value; } }
  • 23. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014 JAVIER DAVID CHÁVEZ CENTENO 23Dpto Académico de Informática 1.5 IMPLEMENTACIÓN DEL TAD LISTA RECURSIVA // ------------ Otros métodos -------------------------------------- public bool EstaVacia() { return ((aElemento==null) && (aSubLista==null)); } // ---------- Operacion Longitud ----------------------------------- public int Longitud() { if (EstaVacia()) return 0; else return 1 + aSubLista.Longitud(); }
  • 24. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014 JAVIER DAVID CHÁVEZ CENTENO 24Dpto Académico de Informática 1.5 IMPLEMENTACIÓN DEL TAD LISTA RECURSIVA // ----- Operacion Iesimo ------------------------------- protected Object iesimo(int posicion) { if (posicion==1) return aElemento; else return aSubLista.iesimo(posicion-1); } // ----------------------------------------------------------- public Object Iesimo(int posicion) { // validar la posicion if (1<=posicion && posicion <= Longitud()) return iesimo(posicion); else { // la posición no es correcta Console.WriteLine("ERROR: Posición incorrecta"); return null; } }
  • 25. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014 JAVIER DAVID CHÁVEZ CENTENO 25Dpto Académico de Informática 1.5 IMPLEMENTACIÓN DEL TAD LISTA RECURSIVA // ---------- Operación Eliminar ---------------------------- protected void eliminar(int posicion) { if (posicion==1) { // quitar el elemento actual aElemento=aSubLista.elemento; aSubLista=aSubLista.subLista; } else // eliminar en la sublista aSubLista.eliminar(posicion-1); } // ----------------------------------------------------------------- public void Eliminar(int posicion) { // validar la posicion if (1<=posicion && posicion <= Longitud()) eliminar(posicion); else Console.WriteLine("ERROR: Posición incorrecta"); }
  • 26. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014 JAVIER DAVID CHÁVEZ CENTENO 26Dpto Académico de Informática 1.5 IMPLEMENTACIÓN DEL TAD LISTA RECURSIVA //------------ Operación mostrar ---------------------- public void Mostrar() {//-- muestra el elemento y el resto de la lista if (!(EstaVacia())) { Console.WriteLine(aElemento); aSubLista.Mostrar(); } } } //--- fin de CLista
  • 27. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2014 JAVIER DAVID CHÁVEZ CENTENO 27Dpto Académico de Informática