Python - Introducción a DS

Resumen de la estructura de datos

Las estructuras de datos son conceptos fundamentales de la informática que ayudan a escribir programas eficientes en cualquier idioma. Python es un lenguaje de scripting de alto nivel, interpretado, interactivo y orientado a objetos mediante el cual podemos estudiar los fundamentos de la estructura de datos de una manera más simple en comparación con otros lenguajes de programación.

En este capítulo vamos a estudiar una breve descripción de algunas estructuras de datos de uso frecuente en general y cómo se relacionan con algunos tipos de datos específicos de Python. También hay algunas estructuras de datos específicas de Python que se enumeran como otra categoría.

Estructuras de datos generales

Las diversas estructuras de datos en ciencias de la computación se dividen ampliamente en dos categorías que se muestran a continuación. Discutiremos sobre cada una de las estructuras de datos a continuación en detalle en los capítulos siguientes.

Estructuras de datos de revestimiento

Estas son las estructuras de datos que almacenan los elementos de datos de manera secuencial.

  • Array: Es una disposición secuencial de elementos de datos emparejados con el índice del elemento de datos.
  • Linked List: Cada elemento de datos contiene un enlace a otro elemento junto con los datos presentes en él.
  • Stack: Es una estructura de datos que sigue solo un orden específico de operación. LIFO (último en entrar, primero en salir) o FILO (primero en entrar, último en salir).
  • Queue: Es similar a Stack pero el orden de operación es solo FIFO (Primero en entrar, primero en salir).
  • Matrix: Es una estructura de datos bidimensional en la que el elemento de datos se refiere a un par de índices.

Estructuras de datos no lineales

Estas son las estructuras de datos en las que no existe un enlace secuencial de elementos de datos. Cualquier par o grupo de elementos de datos se puede vincular entre sí y se puede acceder a ellos sin una secuencia estricta.

  • Binary Tree: Es una estructura de datos donde cada elemento de datos se puede conectar a un máximo de otros dos elementos de datos y comienza con un nodo raíz.
  • Heap: Es un caso especial de estructura de datos de árbol donde los datos en el nodo principal son estrictamente mayores / iguales a los nodos secundarios o estrictamente menores que sus nodos secundarios.
  • Hash Table: Es una estructura de datos que se compone de matrices asociadas entre sí mediante una función hash. Recupera valores utilizando claves en lugar de índices de un elemento de datos.
  • Graph: .Es una disposición de vértices y nodos donde algunos de los nodos están conectados entre sí a través de enlaces.

Estructuras de datos específicas de Python

Estas estructuras de datos son específicas del lenguaje Python y brindan una mayor flexibilidad para almacenar diferentes tipos de datos y un procesamiento más rápido en el entorno Python.

  • List: Es similar a la matriz con la excepción de que los elementos de datos pueden ser de diferentes tipos de datos. Puede tener datos numéricos y de cadena en una lista de Python.
  • Tuple: Las tuplas son similares a las listas, pero son inmutables, lo que significa que los valores de una tupla no se pueden modificar, solo se pueden leer.
  • Dictionary: El diccionario contiene pares clave-valor como sus elementos de datos.

En los próximos capítulos, aprenderemos los detalles de cómo se puede implementar cada una de estas estructuras de datos usando Python.