Está en la página 1de 7

INSTITUTO UNIVERSITARIO DE TECNOLOGÍA ANTONIO JOSE DE SUCRE

ESCUELA DE INFORMÁTICA
BARQUISIMETO – EDO. LARA

PROCESAMIENTO DE DATOS
Informe: Declaración de Listas.

Willianny Lorena Yánez Paradas


C.I. V- 22.328.912
Febrero de 2024
Declaración de Listas

Las listas son una colección de 0 o más elementos, si la lista no tiene


elementos, se dice que está vacía. En una lista, todos los elementos son de un
mismo tipo . Son estructuras lineales, es decir, sus elementos están colocados uno
detrás de otro, cada elemento de una lista se conoce con el nombre de nodo. Son
mucho más flexibles que los arreglos, pueden crecer dinámicamente de acuerdo a
los requerimientos de la aplicación. Algunas operaciones comunes que se pueden
realizar con listas incluyen: agregar un elemento a la lista, insertar un elemento en
una posición específica, remover un elemento específico, acceder a un elemento
en una posición específica, y encontrar el número de elementos en la lista.

Características

• Son flexibles, pueden crecer y decrecer de forma dinámica dependiendo de


la cantidad de elementos que se agreguen o quiten.
• Permiten almacenar múltiples datos en un orden específico.
• Podemos acceder a cualquier posición dentro de la lista.
• Podemos insertar y borrar elementos de cualquier posición.
• Pueden ser concatenadas o divididas (sublistas).
• Una lista se suele representar como una sucesión de elementos separados
por comas: a1; a2; :::; an : n >= 0.
• Matemáticamente una lista es una secuencia de cero o más elementos.
• Si tiene 0 elementos se llama lista vacía.
• Son una sucesión de nodos en la que a partir de un nodo se puede acceder
al que ocupa la siguiente posición en la lista.
• Forman una sucesión de nodos encadenados a través de punteros.
• Pueden requerir una gran cantidad de memoria, especialmente cuando se
almacenan grandes cantidades de datos.

Tipos de Listas

• Listas simples: Son un conjunto de nodos uno detrás de otro, del cual
siempre se puede conocer al nodo inicial y al final. Cada nodo de la lista
tiene un contenido, que es la información que almacena dentro y puede ser
de cualquier tipo de dato. Cada nodo tiene un sucesor único, excepto el
último nodo de la lista. Es una estructura de datos en la que cada elemento
apunta al siguiente elemento. De esta forma, con la referencia al inicio de la
lista, podemos acceder a todos los elementos de la lista. Son similares al
array, excepto que el acceso a los elementos no se realiza a través de
índices sino a través de punteros. La asignación de memoria se
realiza durante la ejecución.

• Listas ordenadas: Son aquellas en las que la posición de cada elemento


depende de su contenido. La posición de cada nodo viene determinada por
el valor de uno o más campos obligatorios de información del nodo
denominados clave1. No se permite tener dos nodos con la misma clave.

• Listas Doblemente enlazadas (LDE): Es una estructura de datos que


consiste en un conjunto de nodos enlazados secuencialmente. Cada
nodo contiene tres campos, dos para los llamados enlaces, que son
referencias al nodo siguiente y al anterior en la secuencia de nodos, y
otro más para el almacenamiento de la información. Esto permite recorrer la
lista en ambas direcciones.

• Pilas: Es un tipo especial de lista en la que las operaciones de inserción y


eliminación de elementos se realizan por un solo extremo. Esto se conoce
como LIFO (Last In First Out, Último en entrar, primero en salir).

• Colas: Es otro tipo especial de lista en la que la inserción se realiza por un


extremo y la eliminación por el otro. Esto se conoce como FIFO (First In,
First Out, Primero en entrar, primero en salir).

Usos de las Listas

Las listas son estructuras de datos muy útiles para los casos en los
que se quiere almacenar información de la que no se conoce su tamaño con
antelación. Las listas permiten almacenar múltiples datos en un orden específico.
Esto es útil en muchas aplicaciones donde se necesita mantener un conjunto de
elementos en un orden específico. También son valiosas para las situaciones
en las que el volumen de datos se puede incrementar o decrementar
dinámicamente durante la ejecución del programa.

Puede usarse para implementar una amplia variedad de TDA (Tipo de Dato
Abstracto), es decir, el TDA Lista, sirve a menudo como una pieza básica en la
construcción de los TDA más complicados, como es el caso de las tablas hash, los
árboles, los grafos, etc.

Las listas pueden ser útiles para mantener un directorio de nombres,


realizar operaciones aritméticas con números enteros largos, en la manipulación
de polinomios, almacenando constantes en el nodo de la lista enlazada, también
pueden ser útiles para representar arrays dispersas.

Listas Simples:

Ejemplo.py

# Crear una lista vacía


numeros = []
# Agregar elementos(con el comando append)
numeros.append(1)
numeros.append(2)
numeros.append(3)
print(numeros) # Salida: [1, 2, 3]
numeros.append(4)
numeros.append(5)
print(numeros) # Salida: [1, 2, 3, 4, 5]

# Eliminar elementos(con el comando remove)


numeros.remove(3)
numeros.remove(5)
print(numeros) # Salida: [1, 2, 4]

Listas Enlazadas:

Ejemplo.py

lista = []
lista = [20,40,60]
lista.extend ([30,50,70])
print(lista)

//En el código anterior, se crea una lista vacía y se le


agregan dos listas. Cada lista contiene tres valores.
Salida:[20, 40, 60, 30, 50, 70]

Listas Circulares:

Las listas circulares son una estructura de datos enlazada que se


caracteriza por tener un último nodo que apunta al primer nodo, creando así un
ciclo. En otras palabras, el último nodo de la lista apunta al primer nodo, y el
primer nodo apunta al último nodo. Esto permite que la lista se recorra de manera
circular. En el lenguaje de programación C, las listas circulares se pueden
implementar utilizando punteros y estructuras. Para crear una lista circular, se
define una estructura que contiene un puntero al siguiente nodo y un puntero al
nodo anterior. El último nodo de la lista apunta al primer nodo, y el primer nodo
apunta al último nodo.

Ejemplo.py

class Nodo:
def __init__(self, dato):
self.dato = dato
self.siguiente = None
class ListaCircular:
def __init__(self):
self.cabeza = None

def agregar(self, dato):


if not self.cabeza:
self.cabeza = Nodo(dato)
self.cabeza.siguiente = self.cabeza
else:
nuevo_nodo = Nodo(dato)
nodo_actual = self.cabeza
while nodo_actual.siguiente != self.cabeza:
nodo_actual = nodo_actual.siguiente
nodo_actual.siguiente = nuevo_nodo
nuevo_nodo.siguiente = self.cabeza

def imprimir_lista(self):
nodo_actual = self.cabeza
while True:
print(nodo_actual.dato)
nodo_actual = nodo_actual.siguiente
if nodo_actual == self.cabeza:
break

listacircular = ListaCircular()
listacircular.agregar("Amarillo")
listacircular.agregar("Azul")
listacircular.agregar("Rojo")
listacircular.imprimir_lista()

#Salida:
Amarillo
Azul
Rojo

Operaciones con Listas

En toda estructura de datos hay dos operaciones que sobresalen por


encima del resto: Insertar y borrar. Estas dos operaciones aparecerán en toda
estructura de datos, puede que, con otro nombre, o con una funcionalidad
ligeramente diferente, pero su filosofía será la misma, proporcionar unas
operaciones para la construcción de la estructura de datos.
Crear una Lista:

Para crear una lista vacía, simplemente debes asignar unos corchetes vacíos a
una variable.

Ejemplo.py

nuevalista = []

Insertar:

La operación insertar consiste en la introducción de un nuevo elemento en


la lista. En una lista no ordenada no es necesario mantener ningún orden,
por lo tanto, la inserción de elementos se puede realizar en cualquier lugar de la
lista, al principio, al final, en una posición aleatoria. Generalmente se realiza la
inserción de tal forma que la complejidad temporal sea mínima, es decir, que
sea una operación sencilla para que se realice en el menor tiempo posible. La
operación más sencilla depende de la implementación de la estructura de datos,
en unos casos puede ser la inserción al inicio, en otros la inserción al final.

Podemos insertar elementos en una lista utilizando el método “insert()”. Este


método toma dos argumentos: el índice en el que deseas insertar el elemento y el
elemento que deseas insertar.

Ejemplo.py

nuevalista = ['durazno', 'cambur']


nuevalista.insert(2, 'fresa')
print(nuevalista)

# Salida ['durazno', 'cambur', 'fresa']

Eliminar:

Podemos usar el método remove() para eliminar un elemento específico de la


lista.

Ejemplo.py

nuevalista = ['durazno', 'cambur', 'fresa']


nuevalista.remove('cambur')
print(nuevalista)

# Salida ['durazno', 'fresa']


Algoritmos para utilizar listas

Listas.py

def suma(numeros):
suma = 0
for num in numeros:
suma += num
return suma

# Crear una lista de los números pares del 1 al 10


lista_pares = [2, 4, 6, 8, 10]

# Calcular la suma de los números en la lista


resultado = suma(lista_pares)

print("La suma de los números en la lista es:", resultado)

# Salida La suma de los números en la lista es: 30

En este algoritmo simple en Python, se utilizan las listas para almacenar y


manipular datos, este algoritmo recibe una lista de los numeros pares del 1 al 10,
calcula su suma y devuelve el resultado.

También podría gustarte