1. República Bolivariana de Venezuela
Instituto Universitario de Tecnología
“Antonio José de Sucre”
Anaco, Estado Anzoátegui
Cátedra: Procesamiento de datos
Carrera: Informática
DECLARACIÓN DE LISTAS
Bachiller:
Daniel Castro
C.I 31556482
Docente:
Naudy Albornoz
Anaco, febrero 2024
2. Listas: En informática, una lista es una estructura de datos que
contiene una secuencia de elementos. Estos elementos pueden ser de
diferentes tipos, como números, cadenas de texto u otros objetos. Las
listas pueden ser modificadas, es decir, se pueden agregar, eliminar o
modificar elementos en la lista. Las listas son utilizadas comúnmente
en programación para almacenar y manipular datos de manera
ordenada y flexible.
Características de la lista:
Algunas características de una lista informática son:
1. Orden: Los elementos de la lista están dispuestos en un orden
específico, lo que permite acceder a ellos de manera secuencial.
2. Flexibilidad: Las listas informáticas pueden crecer o reducir su
tamaño dinámicamente, lo que las hace adecuadas para situaciones
en las que el número de elementos es variable.
3. Elementos heterogéneos: Los elementos de una lista pueden ser de
diferentes tipos (números, cadenas, objetos, etc.), lo que permite
almacenar información diversa en una misma estructura.
4. Acceso aleatorio: Dependiendo del tipo de lista, es posible acceder
a los elementos de manera directa a través de su posición en la lista.
5. Operaciones comunes: Las listas informáticas suelen tener
operaciones comunes como añadir elementos, eliminar elementos,
buscar elementos, ordenar la lista, entre otros.
6. Implementaciones: Existen diferentes implementaciones de listas
informáticas, como listas enlazadas, listas doblemente enlazadas,
arrays, etc., cada una con sus propias ventajas y desventajas en
términos de eficiencia y facilidad de uso.
3. Tipos de listas:
Existen varios tipos de listas que se utilizan para diferentes propósitos.
Algunos de los tipos más comunes de listas informáticas son:
1. Listas enlazadas: En este tipo de lista, cada elemento contiene
un enlace al siguiente elemento, lo que permite una inserción y
eliminación eficiente de elementos en cualquier posición de la
lista. Las listas enlazadas pueden ser simplemente enlazadas
(cada elemento apunta al siguiente) o doblemente enlazadas
(cada elemento apunta tanto al siguiente como al anterior).
2. Arrays dinámicos: También conocidos como vectores dinámicos,
son estructuras de datos que permiten el crecimiento dinámico
de la lista. Los arrays dinámicos asignan automáticamente más
memoria cuando la lista crece, lo que los hace eficientes para
operaciones de inserción y eliminación al final de la lista.
3. Listas ordenadas: Son listas en las que los elementos están
dispuestos en orden ascendente o descendente, lo que facilita la
búsqueda y recuperación de elementos.
4. Listas ligadas: Este tipo de lista es similar a las listas enlazadas,
pero con la característica adicional de que comparten
subsecuencias comunes entre los elementos.
5. Listas doblemente enlazadas: Estas listas enlazadas permiten el
acceso bidireccional a los elementos, ya que cada elemento
contiene referencias tanto al siguiente como al anterior.
Uso de listas:
Algunos de los usos más comunes de las listas son:
1. Almacenamiento de datos: Las listas se utilizan para almacenar
conjuntos de datos relacionados, como una lista de contactos en un
teléfono móvil, una lista de productos en un carrito de compras en
línea, o una lista de canciones en un reproductor de música.
2. Estructuras de datos: Las listas son una estructura de datos
fundamental en programación, ya que permiten almacenar y
organizar datos de manera eficiente. Se utilizan para implementar
4. pilas, colas, árboles y otros tipos de estructuras de datos más
complejas.
3. Operaciones de búsqueda y ordenación: Las listas ordenadas se
utilizan para realizar operaciones de búsqueda eficientes, ya que
los elementos están dispuestos en un orden específico. Además,
las listas proporcionan métodos para ordenar sus elementos según
criterios específicos.
4. Implementación de algoritmos: Muchos algoritmos y técnicas de
programación requieren el uso de listas para organizar y procesar
datos. Por ejemplo, los algoritmos de ordenación como el
ordenamiento burbuja, el ordenamiento por inserción y el
ordenamiento rápido operan sobre listas de datos.
5. Representación de relaciones: En algunos casos, las listas se
utilizan para representar relaciones entre elementos. Por ejemplo,
una lista de amigos en una red social representa la relación de
amistad entre usuarios.
6. Gestión dinámica de memoria: Los arrays dinámicos, que son
esencialmente listas, se utilizan para gestionar la memoria
dinámicamente asignada en tiempo de ejecución.
Lista simple: Una lista simple es una estructura de datos que consta
de nodos enlazados, donde cada nodo contiene un valor y una
referencia al siguiente nodo en la secuencia. En una lista simple, los
nodos están conectados de manera lineal, lo que significa que cada
nodo apunta solo a su sucesor inmediato.
Ejemplo:
Un ejemplo de una implementación simple de una lista enlazada
utilizando Python:
class Nodo:
def __init__(self, valor):
self.valor = valor
self.siguiente = None
class ListaEnlazada:
5. def __init__(self):
self.cabeza = None
def agregar(self, valor):
nuevo_nodo = Nodo(valor)
if not self.cabeza:
self.cabeza = nuevo_nodo
else:
actual = self.cabeza
while actual.siguiente:
actual = actual.siguiente
actual.siguiente = nuevo_nodo
def imprimir(self):
actual = self.cabeza
while actual:
print(actual.valor)
actual = actual.siguiente
# Crear una lista enlazada
lista = ListaEnlazada()
lista.agregar(3)
lista.agregar(7)
lista.agregar(12)
6. # Imprimir la lista
lista.imprimir()
En este ejemplo, la clase Nodo representa un nodo individual en la
lista enlazada, con un campo para el valor y otro para apuntar al
siguiente nodo. La clase ListaEnlazada implementa la lista enlazada
propiamente dicha, con métodos para agregar elementos y para
imprimir la lista
Listas encadenadas: Son una estructura de datos que se utiliza para
almacenar y organizar elementos de manera secuencial. Cada
elemento de la lista está vinculado a un siguiente elemento mediante
un enlace o referencia.
Ejemplo:
1. Implementación de una lista enlazada simple en C++:
#include <iostream>
struct Nodo {
int dato;
Nodo* siguiente;
};
class ListaEnlazada {
public:
ListaEnlazada() : cabeza(nullptr) {}
void insertar(int valor) {
Nodo* nuevoNodo = new Nodo{valor, nullptr};
if (cabeza == nullptr) {
8. lista.insertar(10);
lista.insertar(20);
lista.insertar(30);
lista.imprimir(); // Salida: 10 20 30
return 0;
}
Operaciones con listas: creación, inserción, supresión.
1. Creación: Para crear una lista, debes asignar un espacio en la
memoria y definir su tamaño inicial. Luego, puedes agregar elementos
a la lista usando diferentes métodos.
2. Inserción: La inserción implica añadir un elemento nuevo a una
posición específica dentro de la lista. Puedes insertar un elemento al
inicio, al final o en cualquier posición intermedia de la lista.
3. Supresión: La supresión implica eliminar un elemento existente de
la lista. Puedes eliminar un elemento por su valor o por su posición. Al
eliminar un elemento, los otros elementos de la lista se reorganizan
para llenar el espacio dejado por el elemento eliminado.
9. Algoritmo para utilizar listas. (Python):
def encontrar_maximo(lista):
maximo = lista[0]
for elemento in lista:
if elemento > maximo:
maximo = elemento
return maximo
def encontrar_minimo(lista):
minimo = lista[0]
for elemento in lista:
if elemento < minimo:
minimo = elemento
return minimo
# Ejemplo de uso
numeros = [10, 5, 8, 20, 3]
maximo = encontrar_maximo(numeros)
minimo = encontrar_minimo(numeros)
print("El máximo valor es:", maximo) # Salida: El máximo valor es: 20
print("El mínimo valor es:", minimo) # Salida: El mínimo valor es: 3