SlideShare una empresa de Scribd logo
1 de 69
UNIDAD 2
Definición
 Un tipo abstracto de datos (TAD) es un conjunto de
valores junto con las operaciones que sobre el se
pueden aplicar, las cuales cumplirán diversas
propiedades que determinarán su comportamiento.
 Es necesario utilizar una notación formal para
describir el comportamiento de las operaciones.
Definición
 El calificativo “abstracto” responde al hecho de que
los valores de un tipo pueden ser manipulados
solamente mediante sus operaciones, conociendo
únicamente sobre ellas las propiedades que
cumplen, sin que sea necesario ningún
conocimiento adicional sobre la representación del
tipo o la implementación de dichas operaciones.
Especificación frente a implementación
 La manipulación de los objetos de un tipo solo
depende del comportamiento descrito en su
especificación y es independiente de su
implementación.
 La especificación de un TAD consiste en establecer
las propiedades que lo definen. Una especificación
ha de ser precisa, general, legible y no ambigua. La
especificación de un tipo define totalmente su
comportamiento a cualquier usuario que lo necesite.
Especificación frente a implementación
 La implementación de un TAD consiste en
determinar una representación para los valores del
tipo y en codificar sus operaciones a partir de esta
representación, todo ello utilizando un lenguaje de
programación.
 Una implementación del TAD es totalmente
transparente a los usuarios del tipo y no se puede
escribir hasta haber determinado claramente su
especificación.
Especificación de TADs
 Especificar un TAD consiste en establecer las
propiedades que lo definen:
 Colección de Objetos
 Operaciones sobre los Objetos
 La especificación puede ser:
 Formal - Algebraica
 Informal - Lenguaje Natural
Especificación Algebraica de TADs
 Una especificación algebraica consta fundamental-
mente de tres componentes:
 Tipos: son nombres de conjuntos de valores. Entre
ellos está el tipo principal del TAD, aunque puede
haber también otros que se relacionen con este.
Especificación Algebraica de TADs
 Operaciones: son funciones con un perfil asociado
que indica el tipo de cada uno de los argumentos y
el tipo del resultado. En una especificación
algebraica no se permiten funciones que devuelvan
varios valores, ni tampoco procedimientos no
funcionales.
 Ecuaciones: son igualdades entre términos
formados con las operaciones y variables, y definen
el comportamiento de las operaciones.
TAD Booleanos
Clasificación de las Operaciones
 Para escribir las ecuaciones es necesario clasificar
las operaciones según el papel que queremos que
jueguen en relación con el tipo principal s:
 Constructoras (o generadoras): devuelven un valor
de tipo s. Pensadas para construir todos los valores
de tipo s. Puede haber más de un subconjunto de
operaciones generadoras, del que habría que elegir
uno.
Clasificación de las Operaciones
 Modificadoras: devuelven también un valor de tipo
s. Pero están pensadas para hacer cálculos que
produzcan resultados de tipo s.
 Observadoras: devuelven un valor de un tipo
diferente a s. Pensadas para obtener valores de
otros tipos a partir de valores de tipo s.
Ecuaciones TAD Booleano
Ecuaciones TAD Booleano
 Usando las ecuaciones podemos convertir cualquier
término en un término construido.
Especificacion Completa del TAD Booleano
Especificación del TAD Naturales
Especificación del TAD Naturales
Especificación del Conjunto de Naturales
Especificación del Conjunto de Naturales (1)
Especificación del Conjunto de Naturales (2)
Ecuaciones Condicionales
TIPOS de TADs Clásicos
 Existen TADs de Uso frecuente, generalmente para
el manejo de estructuras de datos complejas:
 TAD LISTA
 TAD PILA
 TAD COLA
TAD LISTA
 LISTA
 Una lista enlazada es una secuencia de nodos en el
que cada nodo está enlazado o conectado con el
siguiente.
 La lista enlazada es una estructura de datos dinámica
cuyos nodos suelen ser normalmente registros y que
no tienen un tamaño fijo.
TAD LISTA
 Se utiliza para almacenar información del mismo tipo.
 Pueden contener un número indeterminado de
elementos, y éstos elementos mantienen un orden
explícito ya que cada elemento contiene en sí mismo
la dirección del siguiente elemento.
 Una lista es una secuencia de 0 a n elementos. A la
lista de cero elementos llamaremos lista vacía
TAD LISTA
 Matemáticamente, una lista es una secuencia de cero
o más elementos de un determinado tipo.
(a1,a2 , a3 ..., an) donde n > = 0
 Si n = 0 la lista es vacía.
 Los elementos de la lista tienen la propiedad de que
están ordenados de forma lineal, según las posiciones
que ocupan en la misma. Se dice que ai precede a ai+1
para i = 1, 2, 3,..., n -1 y que ai sucede a ai-1 para i = 2,
3,..., n.
Especificación del TAD LISTA (Formal)
TAD lista (VALORES: secuencia de elementos;
OPERACIONES:Inicia, Localiza, Recupera, Inserta,
SuprimeDir, Modifica)
Sintaxis:
*Inicia (Lista ) → Lista
Localiza (Lista, Elemento) → Posicion
Recupera (Lista, Posicion) → Elemento
*Inserta (Lista, Posicion, Elemento) → Lista
SuprimeDir(Lista, Posicion) → Lista
Modifica (Lista, Posicion, Elemento) → Lista
Semántica:
SuprimeDir(Inicia (Lista )) ⇒ error
SuprimeDir(Inserta (L, P, E), P) ⇒ L
Modifica (Inicia (Lista ), P, E) ⇒ error
Modifica (Inserta (L, P, E), P, E1) ⇒Inserta (L,P,E1)
Especificación del TAD LISTA (Informal)
Inicia (Lista) → Lista
Efecto: Devuelve una lista vacía
Localiza (Lista, Elemento) → Posicion
Efecto: Devuelve la posición donde está el Elemento de la Lista. Si
no está, devuelve nulo.
Recupera (Lista, Posición) → Elemento
Efecto: Devuelve el Elemento que está en la Posición.
Excepción: Que la posición no sea un índice de la Lista.
Especificación del TAD LISTA (Informal)
Inserta (Lista, Posición, Elemento) → Lista
Efecto: Devuelve la Lista después de añadir el Elemento en la Posición.
Excepciones: Que la posición no sea un índice de la Lista, que la Lista
esté llena.
SuprimeDir (Lista, Posicion) → Lista
Efecto: Devuelve la lista sin el elemento de la Posición especificada.
Excepciones: Que la posición no sea un índice de la Lista, que la Lista
sea vacía
Modifica (Lista, Posicion, Elemento) → Lista
Efecto: Devuelve la lista con el nuevo Elemento en la Posición
especificada.
Excepciones: Que la Posición no sea un índice de la Lista, que la Lista
sea vacía.
Implementación del TAD LISTA
 Para representar las listas y las correspondientes
implementaciones pueden seguirse dos alternativas:
 Utilización de la estructura estática de arreglo para
almacenar los nodos de la lista.
 Utilización de estructuras dinámicas, mediante
punteros y variables dinámicas.
Implementación del TAD LISTA (Est. Estáticas)
Implementación del TAD LISTA (Est. Estáticas)
Unit LEstatic;
Interface
ConstMax= ...; {especifica tamaño máximo lista}
type
Info= ...; {tipo de campo de información lista}
Lista = record
Elementos: array[1..Max] of tInfo;
Ultimo: integer
end;
Posicion= 0 .. Max;
Implementación del TAD LISTA (Est. Estáticas)
Procedure Inicia (var L: Lista);functionLocaliza (L: Lista; E:
tInfo): Posicion;
Procedure Recupera (L: Lista; P:Posicion; var E: tInfo);
Procedure Inserta (var L: Lista; P:Posicion; E: tInfo);
Procedure SuprimeDir(var L: Lista; P: Posicion);
Procedure Modifica (var L: Lista; P: Posicion; E: tInfo);
Implementación del TAD LISTA (Est. Estáticas)
Implementation
Procedure Inicia;
begin
L.Ultimo := 0
end;
Function Localiza;
var Q: Posicion; Lc: boolean;
begin
Q := 1;
Lc:= false;
while (Q <= L.Ultimo) and not Lc do
Begin
Lc:= L.Elementos[Q] = E;
if not Lc then Q := Q+1
end;
if Lc then
Localiza := Q
else
Localiza := 0
end;
Implementación del TAD LISTA (Est. Estáticas)
Implementation
procedureError (n: integer);
{procedimiento oculto que sólo se ve en el módulo}
Begin
case n of
1: writeln(‘Error: posición no existe’);
2: writeln(‘Error: lista llena. No se pueden añadir elementos);
3: writeln(‘Error: lista vacía. No se pueden suprimir o modificar elementos’);
end; {case}
readln {Pausa}
end;
Procedure Recupera;
begin
if(P > L.Ultimo) or (P < 1) then
Error (1)
else
E := L.Elementos [P]
end;
Implementación del TAD LISTA (Est. Estáticas)
Implementation
Procedure Inserta;
Var Q: Posicion;
Begin
if L.Ultimo = Max then
Error (2)
else if(P > L.Ultimo) or (P < 1) then
Error (1)
else
begin for Q := L.Ultimo downtop do
L.Elementos [Q + 1] := L.Elementos [Q] ;
L.Ultimo := L.Ultimo + 1;
L.Elementos [P] := E
end
end;
Implementación del TAD LISTA (Est. Estáticas)
Implementation
Procedure Suprime;
Var Q: Posicion;
begin
if L.Ultimo = 0 then
Error(3)
else if(P > L.Ultimo) or (P < 1) then Error(1) else
begin
L.Ultimo := L.Ultimo –1;
for Q := P to L.Ultimo do
L.Elementos[Q] := L.Elementos[Q+1]
end
end
end
end;
Implementación del TAD LISTA (Est. Estáticas)
Implementation
Procedure Modifica;
begin
if L.Ultimo = 0 then Error(3)
else
if(P > L.Ultimo) or (P < 1) then Error (1)
else
L.Elementos[P] := E
end;
end.
Implementación del TAD LISTA (Est. Dinámica)
 Las desventajas de la implementación anterior
son:
 a) Estructura rígida. Inserción y supresión
desplazando el resto del array.
 b) No se utiliza de forma óptima la memoria. Hay que
reservar espacio en memoria para toda la estructura
durante toda la ejecución.
 Estos inconvenientes pueden solucionarse
utilizando variables dinámicas
Implementación del TAD LISTA (Est. Dinámica)
 Los elementos de la lista dinámica se definen
como datos de tipo registro con, al menos, dos
componentes:
 1. Almacén del dato de la lista.
 2. Puntero, que almacena la posición de memoria del
siguiente elemento de la lista o nilsi es el último elemento
 Una lista dinámica simple se llama lista
enlazada. Cada uno de los elementos de una
lista dinámica se llaman nodos.
Implementación del TAD LISTA (Est. Dinámica)
 El número de nodos puede variar rápidamente
en un proceso, aumentando por inserción de
nodos o disminuyendo por supresión de nodos.
 Una lista enlazada es aquella en la que el orden
de las componentes se determina mediante un
campo enlace explícito en cada nodo.
Implementación del TAD LISTA (Est. Dinámica)
 Las operaciones sobre una lista enlazada
permiten acceder a la misma mediante un
puntero externo, que contiene la dirección del
primer nodo de la lista.
Implementación del TAD LISTA (Est. Dinámica)
Desventajas
 Cada vez que se quiera acceder a un nodo hay que
recorrer la lista, a través de los enlaces hasta alcanzar
su posición.
 Cada nodo ocupa la memoria adicional del campo
enlace.
 Al trabajar con estructuras dinámicas hay que manejar
dos clases diferentes de variables:
 variables puntero (direccionan un dato) y variables de
referencia (son apuntadas).
Implementación del TAD LISTA (Est. Dinámica)
Unit LDinami;
Interface
Type
tInfo= ...; {tipo de campo de información lista}
Ptr= ^Nodo;
Nodo = record
Info: tInfo;
Sig: Ptr
end;
Procedure Inicia (var L: Ptr);
Function Localiza (L: Ptr; E: tInfo): Ptr;
Procedure Recupera (L: Ptr; P: Ptr; varE: tInfo);
Procedure Inserta (var L: Ptr; P: Ptr; E: tInfo);
Procedure SuprimeDir(var L: Ptr; P: Ptr);
Procedure Modifica (L: Ptr; P: Ptr; E: tInfo);
Implementación del TAD LISTA (Est. Dinámica)
Implementation
Procedure Inicia;
Begin
L := nil
end;
Function Localiza
begin
while (L^.Sig<>nil) and (L^.Info<>E) do
L := L^.Sig;
if L^.Info <> E then
Localiza := nil
else
Localiza := L
end;
Implementación del TAD LISTA (Est. Dinámica)
Implementation
Procedure Inserta; {Inserta en L un nodo con el Campo E, delante del nodo con Dirección P}
begin
new(A);
A^.Info:= E;
if(L = nil) then L := A
else
if P = L then
begin
A^.Sig:= P;
L := A;
end
else
begin
Anterior (P, L)^.Sig:= A;
A^.Sig:= P;
end
end;
Implementación del TAD LISTA (Est. Dinámica)
Implementation
Procedure SuprimeDir;
begin
if P = L {Primer nodo}
begin
L := L^.Sig;
dispose(P)
end else if Anterior(P,L) < > nil then
begin
{Enlaza anterior con siguiente}
Anterior(P, L)^.Sig:= P^.Sig
dispose(P)
end
end;
Implementación del TAD LISTA (Est. Dinámica)
Implementation
Procedure Modifica;
Begin
if P <> nil then
P^.info := E
end;
Ejercicios TAD LISTA (Est. Dinámica)
•EsVacia(L):Función que determina si L es vacía o no.
•Existe (E, L):Función que determina si el elemento E se encuentra en L o no.
•Inserprim(E, L):Inserta un nodo con la información E como primer nodo de la lista.
•Inserfin(E, L):Inserta un nodo con el campo E como último nodo de la lista L.
•Suprime (E, L):Elimina el nodo de la lista que contiene E
TAD Lista
 Listas Doblemente Enlazadas
 En las listas simplemente enlazadas hay un solo
sentido en el recorrido de la Lista. Puede resultar
 En cada nodo de éste tipo de listas existe dos
enlaces, uno al siguiente nodo y otro al anterior.
 Son listas simétricas
TAD Lista
 Listas Doblemente Enlazadas
TAD Lista
 Listas Circulares
TAD PILA
 Una pila es una estructura de datos en la que todas
las inserciones y eliminaciones de elementos se
realizan por un extremo denominado tope o cima de
la pila.
 La implementación de una pila se puede realizar
mediante arreglos o con punteros.
 El inconveniente de la realización de una pila
mediante arreglos es que su tamaño máximo se
debe especificar en tiempo de compilación.
TAD PILA
 Tienen una dinámica LIFO (Last In, First Out)
TAD PILA – Estructura Estática
TAD PILA – Estructura Estática - Ejercicios
1) Definir, de manera informal, las operaciones posibles
de un TAD pila
2) Implementar las operaciones de un TAD pila
utilizando una estructura estática.
TAD PILA – Estructura Dinámica
TAD PILA – Aplicaciones
 La Pila son utilizadas para solucionar una amplia
variedad de problemas.
 Llamada a subprogramas
 Recursión
 Tratamiento de expresiones aritméticas
 Ordenación
TAD PILA – Aplicaciones
TAD PILA – Aplicaciones
TAD Cola
 Cola:
 Secuencia de elementos de un cierto tipo, dispuestos
en una dimensión (Tipo Lineal de Datos)
 Nuevos elementos se añaden al final de la estructura
– Operación Añadir
 Los elementos salen o se eliminan de la cabeza de la
cola. Operación Eliminar
TAD Cola
 Valor Especial: Cola Vacía
 Estructura FIFO (First In, First Out) el orden de salida
debe corresponderse con el orden de entrada
 Los elementos salen o se eliminan de la cabeza de la
cola. Operación Eliminar
TAD Cola - Representación
TAD COLA – Estructura Estática
 Arreglos Lineales
TAD COLA – Estructura Estática
 Arreglos Circulares
TAD COLA – Estructura Estática
 Arreglos Circulares
TAD COLA – Estructura Estática
 Arreglos Circulares – Cola LLena
TAD COLA – Estructura Estática
 Arreglos Circulares – Supresión del último elemento
TAD COLA – Estructura Estática
 Arreglos Circulares – Cola Vacia
TAD COLA – Estructura Dinámica
 Listas enlazadas
TAD COLA – Estructura Dinámica
 Listas Circulares

Más contenido relacionado

La actualidad más candente (20)

Estructuras de datos lineales
Estructuras de datos linealesEstructuras de datos lineales
Estructuras de datos lineales
 
Linear search algorithm
Linear search algorithmLinear search algorithm
Linear search algorithm
 
Colas en programacion
Colas en programacionColas en programacion
Colas en programacion
 
Heap sort (Monticulos)
Heap sort (Monticulos)Heap sort (Monticulos)
Heap sort (Monticulos)
 
1.5.1 Representación en memoria estática y dinámica.pptx
1.5.1 Representación en memoria estática y dinámica.pptx1.5.1 Representación en memoria estática y dinámica.pptx
1.5.1 Representación en memoria estática y dinámica.pptx
 
Shell exposición
Shell exposiciónShell exposición
Shell exposición
 
Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)
 
Listas
ListasListas
Listas
 
Listas Doblemente Enlazadas y Listas Circulares
Listas Doblemente Enlazadas y Listas CircularesListas Doblemente Enlazadas y Listas Circulares
Listas Doblemente Enlazadas y Listas Circulares
 
Tablas Hash
Tablas HashTablas Hash
Tablas Hash
 
Listas como estructura de datos..
Listas como estructura de datos..Listas como estructura de datos..
Listas como estructura de datos..
 
Insercion directa
Insercion directaInsercion directa
Insercion directa
 
Ordenamientos rápido y mezcla
Ordenamientos rápido y mezclaOrdenamientos rápido y mezcla
Ordenamientos rápido y mezcla
 
Listas
ListasListas
Listas
 
Queues
QueuesQueues
Queues
 
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
 
Estructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras LinealesEstructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras Lineales
 
Unidad 3 Listas Java
Unidad 3 Listas JavaUnidad 3 Listas Java
Unidad 3 Listas Java
 
Programación 3: colas
Programación 3: colasProgramación 3: colas
Programación 3: colas
 
Colas estáticas. IESIT
Colas estáticas. IESITColas estáticas. IESIT
Colas estáticas. IESIT
 

Similar a Complejidad Algoritmica

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 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
 
ED Listas, Pilas y Colas
ED Listas, Pilas y ColasED Listas, Pilas y Colas
ED Listas, Pilas y Colasiventura26
 
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
 
Estructura dedatos listas pilas y colas 12-0617
Estructura dedatos listas pilas y colas 12-0617Estructura dedatos listas pilas y colas 12-0617
Estructura dedatos listas pilas y colas 12-0617Johannadotel
 
Temas programacion java_2
Temas programacion java_2Temas programacion java_2
Temas programacion java_2Wally IG
 
Listas, pilas & colas
Listas, pilas & colasListas, pilas & colas
Listas, pilas & colasjorgeluis0317
 
Estructuras de datos y algoritmos
Estructuras de datos y algoritmosEstructuras de datos y algoritmos
Estructuras de datos y algoritmosRobert Rodriguez
 
Estructuras de datos y algoritmos
Estructuras de datos y algoritmosEstructuras de datos y algoritmos
Estructuras de datos y algoritmosRobert Rodriguez
 
DECLARACION DE LISTAS 1.pdf
DECLARACION DE LISTAS 1.pdfDECLARACION DE LISTAS 1.pdf
DECLARACION DE LISTAS 1.pdfmichaelsilva2k20
 
ED 03 1_listas
ED 03 1_listasED 03 1_listas
ED 03 1_listasA J
 
Estructuras de datos_dinamicas_definicion_e_implementacion_
Estructuras de datos_dinamicas_definicion_e_implementacion_Estructuras de datos_dinamicas_definicion_e_implementacion_
Estructuras de datos_dinamicas_definicion_e_implementacion_Diosmary Marrón Dellán
 
Estructuras de datos_dinamicas_definicion_e_implementacion_
Estructuras de datos_dinamicas_definicion_e_implementacion_Estructuras de datos_dinamicas_definicion_e_implementacion_
Estructuras de datos_dinamicas_definicion_e_implementacion_Diosmary Marrón Dellán
 

Similar a Complejidad Algoritmica (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
 
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
 
Ed002
Ed002Ed002
Ed002
 
ED Listas, Pilas y Colas
ED Listas, Pilas y ColasED Listas, Pilas y Colas
ED Listas, Pilas y Colas
 
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
 
Tipos de Datos Abstractos (TDA)
Tipos de Datos Abstractos (TDA)Tipos de Datos Abstractos (TDA)
Tipos de Datos Abstractos (TDA)
 
Estructura dedatos listas pilas y colas 12-0617
Estructura dedatos listas pilas y colas 12-0617Estructura dedatos listas pilas y colas 12-0617
Estructura dedatos listas pilas y colas 12-0617
 
Temas programacion java_2
Temas programacion java_2Temas programacion java_2
Temas programacion java_2
 
LISTAS
LISTASLISTAS
LISTAS
 
Listas, pilas & colas
Listas, pilas & colasListas, pilas & colas
Listas, pilas & colas
 
Presentacion pilas lista y colas
Presentacion pilas lista y colas  Presentacion pilas lista y colas
Presentacion pilas lista y colas
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
7. Listas.ppt
7. Listas.ppt7. Listas.ppt
7. Listas.ppt
 
Estructuras de datos y algoritmos
Estructuras de datos y algoritmosEstructuras de datos y algoritmos
Estructuras de datos y algoritmos
 
Estructuras de datos y algoritmos
Estructuras de datos y algoritmosEstructuras de datos y algoritmos
Estructuras de datos y algoritmos
 
DECLARACION DE LISTAS 1.pdf
DECLARACION DE LISTAS 1.pdfDECLARACION DE LISTAS 1.pdf
DECLARACION DE LISTAS 1.pdf
 
ED 03 1_listas
ED 03 1_listasED 03 1_listas
ED 03 1_listas
 
Estructuras de datos_dinamicas_definicion_e_implementacion_
Estructuras de datos_dinamicas_definicion_e_implementacion_Estructuras de datos_dinamicas_definicion_e_implementacion_
Estructuras de datos_dinamicas_definicion_e_implementacion_
 
Estructuras de datos_dinamicas_definicion_e_implementacion_
Estructuras de datos_dinamicas_definicion_e_implementacion_Estructuras de datos_dinamicas_definicion_e_implementacion_
Estructuras de datos_dinamicas_definicion_e_implementacion_
 

Último

DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.DaluiMonasterio
 
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
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
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
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfMARIAPAULAMAHECHAMOR
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
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
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 

Último (20)

DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.
 
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
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
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
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
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
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdf
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 

Complejidad Algoritmica

  • 2. Definición  Un tipo abstracto de datos (TAD) es un conjunto de valores junto con las operaciones que sobre el se pueden aplicar, las cuales cumplirán diversas propiedades que determinarán su comportamiento.  Es necesario utilizar una notación formal para describir el comportamiento de las operaciones.
  • 3. Definición  El calificativo “abstracto” responde al hecho de que los valores de un tipo pueden ser manipulados solamente mediante sus operaciones, conociendo únicamente sobre ellas las propiedades que cumplen, sin que sea necesario ningún conocimiento adicional sobre la representación del tipo o la implementación de dichas operaciones.
  • 4. Especificación frente a implementación  La manipulación de los objetos de un tipo solo depende del comportamiento descrito en su especificación y es independiente de su implementación.  La especificación de un TAD consiste en establecer las propiedades que lo definen. Una especificación ha de ser precisa, general, legible y no ambigua. La especificación de un tipo define totalmente su comportamiento a cualquier usuario que lo necesite.
  • 5. Especificación frente a implementación  La implementación de un TAD consiste en determinar una representación para los valores del tipo y en codificar sus operaciones a partir de esta representación, todo ello utilizando un lenguaje de programación.  Una implementación del TAD es totalmente transparente a los usuarios del tipo y no se puede escribir hasta haber determinado claramente su especificación.
  • 6. Especificación de TADs  Especificar un TAD consiste en establecer las propiedades que lo definen:  Colección de Objetos  Operaciones sobre los Objetos  La especificación puede ser:  Formal - Algebraica  Informal - Lenguaje Natural
  • 7. Especificación Algebraica de TADs  Una especificación algebraica consta fundamental- mente de tres componentes:  Tipos: son nombres de conjuntos de valores. Entre ellos está el tipo principal del TAD, aunque puede haber también otros que se relacionen con este.
  • 8. Especificación Algebraica de TADs  Operaciones: son funciones con un perfil asociado que indica el tipo de cada uno de los argumentos y el tipo del resultado. En una especificación algebraica no se permiten funciones que devuelvan varios valores, ni tampoco procedimientos no funcionales.  Ecuaciones: son igualdades entre términos formados con las operaciones y variables, y definen el comportamiento de las operaciones.
  • 10. Clasificación de las Operaciones  Para escribir las ecuaciones es necesario clasificar las operaciones según el papel que queremos que jueguen en relación con el tipo principal s:  Constructoras (o generadoras): devuelven un valor de tipo s. Pensadas para construir todos los valores de tipo s. Puede haber más de un subconjunto de operaciones generadoras, del que habría que elegir uno.
  • 11. Clasificación de las Operaciones  Modificadoras: devuelven también un valor de tipo s. Pero están pensadas para hacer cálculos que produzcan resultados de tipo s.  Observadoras: devuelven un valor de un tipo diferente a s. Pensadas para obtener valores de otros tipos a partir de valores de tipo s.
  • 13. Ecuaciones TAD Booleano  Usando las ecuaciones podemos convertir cualquier término en un término construido.
  • 18. Especificación del Conjunto de Naturales (1)
  • 19. Especificación del Conjunto de Naturales (2)
  • 21. TIPOS de TADs Clásicos  Existen TADs de Uso frecuente, generalmente para el manejo de estructuras de datos complejas:  TAD LISTA  TAD PILA  TAD COLA
  • 22. TAD LISTA  LISTA  Una lista enlazada es una secuencia de nodos en el que cada nodo está enlazado o conectado con el siguiente.  La lista enlazada es una estructura de datos dinámica cuyos nodos suelen ser normalmente registros y que no tienen un tamaño fijo.
  • 23. TAD LISTA  Se utiliza para almacenar información del mismo tipo.  Pueden contener un número indeterminado de elementos, y éstos elementos mantienen un orden explícito ya que cada elemento contiene en sí mismo la dirección del siguiente elemento.  Una lista es una secuencia de 0 a n elementos. A la lista de cero elementos llamaremos lista vacía
  • 24. TAD LISTA  Matemáticamente, una lista es una secuencia de cero o más elementos de un determinado tipo. (a1,a2 , a3 ..., an) donde n > = 0  Si n = 0 la lista es vacía.  Los elementos de la lista tienen la propiedad de que están ordenados de forma lineal, según las posiciones que ocupan en la misma. Se dice que ai precede a ai+1 para i = 1, 2, 3,..., n -1 y que ai sucede a ai-1 para i = 2, 3,..., n.
  • 25. Especificación del TAD LISTA (Formal) TAD lista (VALORES: secuencia de elementos; OPERACIONES:Inicia, Localiza, Recupera, Inserta, SuprimeDir, Modifica) Sintaxis: *Inicia (Lista ) → Lista Localiza (Lista, Elemento) → Posicion Recupera (Lista, Posicion) → Elemento *Inserta (Lista, Posicion, Elemento) → Lista SuprimeDir(Lista, Posicion) → Lista Modifica (Lista, Posicion, Elemento) → Lista Semántica: SuprimeDir(Inicia (Lista )) ⇒ error SuprimeDir(Inserta (L, P, E), P) ⇒ L Modifica (Inicia (Lista ), P, E) ⇒ error Modifica (Inserta (L, P, E), P, E1) ⇒Inserta (L,P,E1)
  • 26. Especificación del TAD LISTA (Informal) Inicia (Lista) → Lista Efecto: Devuelve una lista vacía Localiza (Lista, Elemento) → Posicion Efecto: Devuelve la posición donde está el Elemento de la Lista. Si no está, devuelve nulo. Recupera (Lista, Posición) → Elemento Efecto: Devuelve el Elemento que está en la Posición. Excepción: Que la posición no sea un índice de la Lista.
  • 27. Especificación del TAD LISTA (Informal) Inserta (Lista, Posición, Elemento) → Lista Efecto: Devuelve la Lista después de añadir el Elemento en la Posición. Excepciones: Que la posición no sea un índice de la Lista, que la Lista esté llena. SuprimeDir (Lista, Posicion) → Lista Efecto: Devuelve la lista sin el elemento de la Posición especificada. Excepciones: Que la posición no sea un índice de la Lista, que la Lista sea vacía Modifica (Lista, Posicion, Elemento) → Lista Efecto: Devuelve la lista con el nuevo Elemento en la Posición especificada. Excepciones: Que la Posición no sea un índice de la Lista, que la Lista sea vacía.
  • 28. Implementación del TAD LISTA  Para representar las listas y las correspondientes implementaciones pueden seguirse dos alternativas:  Utilización de la estructura estática de arreglo para almacenar los nodos de la lista.  Utilización de estructuras dinámicas, mediante punteros y variables dinámicas.
  • 29. Implementación del TAD LISTA (Est. Estáticas)
  • 30. Implementación del TAD LISTA (Est. Estáticas) Unit LEstatic; Interface ConstMax= ...; {especifica tamaño máximo lista} type Info= ...; {tipo de campo de información lista} Lista = record Elementos: array[1..Max] of tInfo; Ultimo: integer end; Posicion= 0 .. Max;
  • 31. Implementación del TAD LISTA (Est. Estáticas) Procedure Inicia (var L: Lista);functionLocaliza (L: Lista; E: tInfo): Posicion; Procedure Recupera (L: Lista; P:Posicion; var E: tInfo); Procedure Inserta (var L: Lista; P:Posicion; E: tInfo); Procedure SuprimeDir(var L: Lista; P: Posicion); Procedure Modifica (var L: Lista; P: Posicion; E: tInfo);
  • 32. Implementación del TAD LISTA (Est. Estáticas) Implementation Procedure Inicia; begin L.Ultimo := 0 end; Function Localiza; var Q: Posicion; Lc: boolean; begin Q := 1; Lc:= false; while (Q <= L.Ultimo) and not Lc do Begin Lc:= L.Elementos[Q] = E; if not Lc then Q := Q+1 end; if Lc then Localiza := Q else Localiza := 0 end;
  • 33. Implementación del TAD LISTA (Est. Estáticas) Implementation procedureError (n: integer); {procedimiento oculto que sólo se ve en el módulo} Begin case n of 1: writeln(‘Error: posición no existe’); 2: writeln(‘Error: lista llena. No se pueden añadir elementos); 3: writeln(‘Error: lista vacía. No se pueden suprimir o modificar elementos’); end; {case} readln {Pausa} end; Procedure Recupera; begin if(P > L.Ultimo) or (P < 1) then Error (1) else E := L.Elementos [P] end;
  • 34. Implementación del TAD LISTA (Est. Estáticas) Implementation Procedure Inserta; Var Q: Posicion; Begin if L.Ultimo = Max then Error (2) else if(P > L.Ultimo) or (P < 1) then Error (1) else begin for Q := L.Ultimo downtop do L.Elementos [Q + 1] := L.Elementos [Q] ; L.Ultimo := L.Ultimo + 1; L.Elementos [P] := E end end;
  • 35. Implementación del TAD LISTA (Est. Estáticas) Implementation Procedure Suprime; Var Q: Posicion; begin if L.Ultimo = 0 then Error(3) else if(P > L.Ultimo) or (P < 1) then Error(1) else begin L.Ultimo := L.Ultimo –1; for Q := P to L.Ultimo do L.Elementos[Q] := L.Elementos[Q+1] end end end end;
  • 36. Implementación del TAD LISTA (Est. Estáticas) Implementation Procedure Modifica; begin if L.Ultimo = 0 then Error(3) else if(P > L.Ultimo) or (P < 1) then Error (1) else L.Elementos[P] := E end; end.
  • 37. Implementación del TAD LISTA (Est. Dinámica)  Las desventajas de la implementación anterior son:  a) Estructura rígida. Inserción y supresión desplazando el resto del array.  b) No se utiliza de forma óptima la memoria. Hay que reservar espacio en memoria para toda la estructura durante toda la ejecución.  Estos inconvenientes pueden solucionarse utilizando variables dinámicas
  • 38. Implementación del TAD LISTA (Est. Dinámica)  Los elementos de la lista dinámica se definen como datos de tipo registro con, al menos, dos componentes:  1. Almacén del dato de la lista.  2. Puntero, que almacena la posición de memoria del siguiente elemento de la lista o nilsi es el último elemento  Una lista dinámica simple se llama lista enlazada. Cada uno de los elementos de una lista dinámica se llaman nodos.
  • 39. Implementación del TAD LISTA (Est. Dinámica)  El número de nodos puede variar rápidamente en un proceso, aumentando por inserción de nodos o disminuyendo por supresión de nodos.  Una lista enlazada es aquella en la que el orden de las componentes se determina mediante un campo enlace explícito en cada nodo.
  • 40. Implementación del TAD LISTA (Est. Dinámica)  Las operaciones sobre una lista enlazada permiten acceder a la misma mediante un puntero externo, que contiene la dirección del primer nodo de la lista.
  • 41. Implementación del TAD LISTA (Est. Dinámica) Desventajas  Cada vez que se quiera acceder a un nodo hay que recorrer la lista, a través de los enlaces hasta alcanzar su posición.  Cada nodo ocupa la memoria adicional del campo enlace.  Al trabajar con estructuras dinámicas hay que manejar dos clases diferentes de variables:  variables puntero (direccionan un dato) y variables de referencia (son apuntadas).
  • 42. Implementación del TAD LISTA (Est. Dinámica) Unit LDinami; Interface Type tInfo= ...; {tipo de campo de información lista} Ptr= ^Nodo; Nodo = record Info: tInfo; Sig: Ptr end; Procedure Inicia (var L: Ptr); Function Localiza (L: Ptr; E: tInfo): Ptr; Procedure Recupera (L: Ptr; P: Ptr; varE: tInfo); Procedure Inserta (var L: Ptr; P: Ptr; E: tInfo); Procedure SuprimeDir(var L: Ptr; P: Ptr); Procedure Modifica (L: Ptr; P: Ptr; E: tInfo);
  • 43. Implementación del TAD LISTA (Est. Dinámica) Implementation Procedure Inicia; Begin L := nil end; Function Localiza begin while (L^.Sig<>nil) and (L^.Info<>E) do L := L^.Sig; if L^.Info <> E then Localiza := nil else Localiza := L end;
  • 44. Implementación del TAD LISTA (Est. Dinámica) Implementation Procedure Inserta; {Inserta en L un nodo con el Campo E, delante del nodo con Dirección P} begin new(A); A^.Info:= E; if(L = nil) then L := A else if P = L then begin A^.Sig:= P; L := A; end else begin Anterior (P, L)^.Sig:= A; A^.Sig:= P; end end;
  • 45. Implementación del TAD LISTA (Est. Dinámica) Implementation Procedure SuprimeDir; begin if P = L {Primer nodo} begin L := L^.Sig; dispose(P) end else if Anterior(P,L) < > nil then begin {Enlaza anterior con siguiente} Anterior(P, L)^.Sig:= P^.Sig dispose(P) end end;
  • 46. Implementación del TAD LISTA (Est. Dinámica) Implementation Procedure Modifica; Begin if P <> nil then P^.info := E end;
  • 47. Ejercicios TAD LISTA (Est. Dinámica) •EsVacia(L):Función que determina si L es vacía o no. •Existe (E, L):Función que determina si el elemento E se encuentra en L o no. •Inserprim(E, L):Inserta un nodo con la información E como primer nodo de la lista. •Inserfin(E, L):Inserta un nodo con el campo E como último nodo de la lista L. •Suprime (E, L):Elimina el nodo de la lista que contiene E
  • 48. TAD Lista  Listas Doblemente Enlazadas  En las listas simplemente enlazadas hay un solo sentido en el recorrido de la Lista. Puede resultar  En cada nodo de éste tipo de listas existe dos enlaces, uno al siguiente nodo y otro al anterior.  Son listas simétricas
  • 49. TAD Lista  Listas Doblemente Enlazadas
  • 50. TAD Lista  Listas Circulares
  • 51. TAD PILA  Una pila es una estructura de datos en la que todas las inserciones y eliminaciones de elementos se realizan por un extremo denominado tope o cima de la pila.  La implementación de una pila se puede realizar mediante arreglos o con punteros.  El inconveniente de la realización de una pila mediante arreglos es que su tamaño máximo se debe especificar en tiempo de compilación.
  • 52. TAD PILA  Tienen una dinámica LIFO (Last In, First Out)
  • 53. TAD PILA – Estructura Estática
  • 54. TAD PILA – Estructura Estática - Ejercicios 1) Definir, de manera informal, las operaciones posibles de un TAD pila 2) Implementar las operaciones de un TAD pila utilizando una estructura estática.
  • 55. TAD PILA – Estructura Dinámica
  • 56. TAD PILA – Aplicaciones  La Pila son utilizadas para solucionar una amplia variedad de problemas.  Llamada a subprogramas  Recursión  Tratamiento de expresiones aritméticas  Ordenación
  • 57. TAD PILA – Aplicaciones
  • 58. TAD PILA – Aplicaciones
  • 59. TAD Cola  Cola:  Secuencia de elementos de un cierto tipo, dispuestos en una dimensión (Tipo Lineal de Datos)  Nuevos elementos se añaden al final de la estructura – Operación Añadir  Los elementos salen o se eliminan de la cabeza de la cola. Operación Eliminar
  • 60. TAD Cola  Valor Especial: Cola Vacía  Estructura FIFO (First In, First Out) el orden de salida debe corresponderse con el orden de entrada  Los elementos salen o se eliminan de la cabeza de la cola. Operación Eliminar
  • 61. TAD Cola - Representación
  • 62. TAD COLA – Estructura Estática  Arreglos Lineales
  • 63. TAD COLA – Estructura Estática  Arreglos Circulares
  • 64. TAD COLA – Estructura Estática  Arreglos Circulares
  • 65. TAD COLA – Estructura Estática  Arreglos Circulares – Cola LLena
  • 66. TAD COLA – Estructura Estática  Arreglos Circulares – Supresión del último elemento
  • 67. TAD COLA – Estructura Estática  Arreglos Circulares – Cola Vacia
  • 68. TAD COLA – Estructura Dinámica  Listas enlazadas
  • 69. TAD COLA – Estructura Dinámica  Listas Circulares