Una guía de lectura obligada para comenzar con las estructuras de datos básicas de Python

Obtener mas informacion

Página de inicio del autor: el hermano Tao habla sobre Python

Sitio web personal: el hermano Tao habla sobre Python


Hola a todos, soy el hermano Tao, hoy compartiré con ustedes estructuras de datos comunes en Python.

1.matriz

Significado: una matriz es una estructura de datos ordenada a la que se puede acceder a los elementos por índice. El tamaño de una matriz suele ser fijo y no se puede cambiar una vez creada.

Operaciones básicas:

# 创建数组
arr = [1, 2, 3, 4, 5]

# 访问元素
element = arr[2]  # 获取第三个元素,索引从0开始

# 修改元素
arr[1] = 6

# 获取数组长度
length = len(arr)

# 迭代数组
for item in arr:
    print(item)

2. Lista

Significado: una lista es una estructura de datos incorporada en Python. Es una secuencia mutable ordenada que puede almacenar elementos de diferentes tipos.

Operaciones básicas:

# 创建列表
my_list = [1, 2, 3, "hello"]

# 添加元素
my_list.append(4)  # 添加元素到末尾
my_list.insert(2, 5)  # 在指定位置插入元素

# 删除元素
my_list.remove(3)  # 移除指定元素
popped_item = my_list.pop()  # 移除并返回末尾元素

# 获取列表长度
length = len(my_list)

# 列表切片
subset = my_list[1:3]  # 获取索引1到2的子列表

3.pila

Significado: la pila es una estructura de datos de último en entrar, primero en salir (LIFO), y las operaciones de inserción y eliminación solo se pueden realizar en la parte superior de la pila.

Operaciones básicas:

# 创建空栈
stack = []

# 入栈
stack.append(1)
stack.append(2)

# 出栈
popped_item = stack.pop()

# 获取栈顶元素
top_item = stack[-1]

# 检查栈是否为空
is_empty = len(stack) == 0

4.Cola

Significado: la cola es una estructura de datos de primero en entrar, primero en salir (FIFO). Las operaciones de inserción solo se pueden realizar en un extremo de la cola y las operaciones de eliminación se pueden realizar en el otro extremo.

Operaciones básicas:

from collections import deque

# 创建空队列
queue = deque()

# 入队
queue.append(1)
queue.append(2)

# 出队
popped_item = queue.popleft()

# 获取队列头元素
front_item = queue[0]

# 检查队列是否为空
is_empty = len(queue) == 0

5. Lista enlazada

Significado: una lista vinculada es una estructura de datos dinámica que consta de nodos, cada nodo contiene un elemento de datos y una referencia al siguiente nodo. Una lista enlazada puede ser una lista enlazada individualmente, una lista enlazada doblemente o una lista enlazada circular.

Operaciones básicas:

class ListNode:
    def __init__(self, value):
        self.value = value
        self.next = None

# 创建链表节点
node1 = ListNode(1)
node2 = ListNode(2)

# 构建链表
node1.next = node2

# 遍历链表
current = node1
while current:
    print(current.value)
    current = current.next

6. Tabla hash (diccionario)

Significado: una tabla hash es una estructura de almacenamiento de pares clave-valor que asigna claves a ubicaciones de almacenamiento específicas a través de una función hash para lograr operaciones de búsqueda e inserción rápidas.

Operaciones básicas:

# 创建空字典
my_dict = {
    
    }

# 添加键值对
my_dict["name"] = "Alice"
my_dict["age"] = 30

# 获取值
value = my_dict["name"]

# 删除键值对
del my_dict["age"]

# 检查键是否存在
key_exists = "name" in my_dict

7.árbol

Significado: un árbol es una estructura de datos jerárquica que consta de nodos; cada nodo puede tener cero o más nodos secundarios. Los árboles se utilizan a menudo para representar relaciones jerárquicas, como sistemas de archivos, estructuras organizativas, etc.

Operaciones básicas: las operaciones básicas del árbol incluyen la inserción, eliminación y recorrido de nodos.

class TreeNode:
    def __init__(self, value):
        self.value = value
        self.left = None
        self.right = None

# 创建树节点
root = TreeNode(1)
node2 = TreeNode(2)
node3 = TreeNode(3)

# 构建树结构
root.left = node2
root.right = node3

# 遍历树(例如中序遍历)
def inorder_traversal(node):
    if node:
        inorder_traversal(node.left)
        print(node.value)
        inorder_traversal(node.right)

inorder_traversal(root)

8. Figura

Significado: un gráfico es una estructura de datos que representa relaciones entre objetos y consta de nodos (vértices) y aristas. Los gráficos pueden ser dirigidos o no dirigidos y pueden usarse para representar estructuras complejas como redes y relaciones sociales.

Operaciones básicas: las operaciones básicas del gráfico incluyen agregar y eliminar nodos y agregar y eliminar aristas. Las operaciones de recorrido de gráficos pueden incluir búsqueda en profundidad (DFS) y búsqueda en amplitud (BFS).

class Graph:
    def __init__(self):
        self.graph = {
    
    }

    def add_node(self, node):
        if node not in self.graph:
            self.graph[node] = []

    def add_edge(self, node1, node2):
        self.graph[node1].append(node2)
        self.graph[node2].append(node1)

# 创建图
my_graph = Graph()
my_graph.add_node("A")
my_graph.add_node("B")
my_graph.add_edge("A", "B")

# 图的遍历示例
def dfs(graph, start, visited=None):
    if visited is None:
        visited = set()
    visited.add(start)
    print(start, end=' ')
    for neighbor in graph[start]:
        if neighbor not in visited:
            dfs(graph, neighbor, visited)

print("深度优先搜索结果:")
dfs(my_graph.graph, "A")

Eso es todo para compartir hoy.


por fin

Si desea obtener más materiales y más completos, puede hacer clic en la tarjeta de presentación debajo del artículo y responder [ Materiales de calidad ] para obtener un paquete completo de información de aprendizaje.
Insertar descripción de la imagen aquí

Cómo obtener información:

Si está ansioso por obtener más información valiosa sobre la programación en Python, puede visitar mi página de inicio personal. Allí encontrará tutoriales de Python más detallados, herramientas útiles, ejemplos de proyectos, consejos profesionales y más.
Haga clic en la tarjeta de enlace debajo del artículo, responda [ Información de calidad ] y podrá recibir directamente el paquete de regalo de información.

Supongo que te gusta

Origin blog.csdn.net/wuShiJingZuo/article/details/133013422
Recomendado
Clasificación