Documentos de Académico
Documentos de Profesional
Documentos de Cultura
En el contexto de la programación y
estructuras de datos, un TAD es una abstracción matemática que define un conjunto de
objetos y las operaciones que se pueden realizar con esos objetos sin especificar cómo se
implementan internamente
TAD DE PILA
Un stack (o pila) es una clase especial de lista en la que todas las inserciones y supresiones de elementos
se efectúan sobre uno de sus extremos, llamado el tope del stack.
Ejemplos de stacks son: pila de fichas de poker en una mesa pila de platos para lavar, pila de libros, ...
donde es claramente conveniente quitar el elemento que está en el tope de la pila o agregar un
elemento nuevo sobre el tope de la misma.
class Pila:
def __init__(self):
self.items = [] # Utilizamos una lista para representar la pila vacía
def pop(self):
if not self.is_empty():
return self.items.pop() # Eliminar y devolver el elemento de la cima de la pila
else:
raise IndexError("La pila está vacía")
def top(self):
if not self.is_empty():
return self.items[-1] # Devolver el elemento de la cima de la pila
else:
raise IndexError("La pila está vacía")
def is_empty(self):
return len(self.items) == 0 # Verificar si la pila está vacía
def size(self):
return len(self.items) # Devolver el tamaño de la pila
TAD DE COLA
Puedes imaginar una cola como una fila de personas esperando para realizar una tarea, donde
la primera persona que llega es la primera en ser atendida.
IMPLEMENTACION
Las listas de espera son en general colas (por ejemplo, de llamadas telefónicas en una central) .
}Los trabajos enviados a una impresora se manejan generalmente siguiendo una política de cola
(suponiendo que los trabajos no son cancelados).
def dequeue(self):
if not self.is_empty():
return self.items.pop(0) # Eliminar y devolver el elemento del frente de la cola
else:
raise IndexError("La cola está vacía")
def front(self):
if not self.is_empty():
return self.items[0] # Devolver el elemento del frente de la cola
else:
raise IndexError("La cola está vacía")
def is_empty(self):
return len(self.items) == 0 # Verificar si la cola está vacía
def size(self):
return len(self.items) # Devolver el tamaño de la cola