Python - Introdução ao DS

Visão geral da estrutura de dados

Estruturas de dados são conceitos fundamentais da ciência da computação que ajudam a escrever programas eficientes em qualquer linguagem. Python é uma linguagem de script de alto nível, interpretada, interativa e orientada a objetos, usando a qual podemos estudar os fundamentos da estrutura de dados de uma maneira mais simples em comparação com outras linguagens de programação.

Neste capítulo, vamos estudar uma breve visão geral de algumas estruturas de dados usadas com frequência em geral e como elas estão relacionadas a alguns tipos de dados Python específicos. Existem também algumas estruturas de dados específicas para python que estão listadas como outra categoria.

Estruturas de dados gerais

As várias estruturas de dados em ciência da computação são amplamente divididas em duas categorias mostradas abaixo. Discutiremos sobre cada uma das estruturas de dados abaixo em detalhes nos capítulos subsequentes.

Estruturas de Dados Liner

Estas são as estruturas de dados que armazenam os elementos de dados de maneira sequencial.

  • Array: É um arranjo sequencial de elementos de dados emparelhado com o índice do elemento de dados.
  • Linked List: Cada elemento de dados contém um link para outro elemento junto com os dados presentes nele.
  • Stack: É uma estrutura de dados que segue apenas uma ordem específica de operação. LIFO (último a entrar, primeiro a sair) ou FILO (primeiro a entrar, primeiro a sair).
  • Queue: É semelhante ao Stack, mas a ordem de operação é apenas FIFO (First In First Out).
  • Matrix: É uma estrutura de dados bidimensional em que o elemento de dados é referido por um par de índices.

Estruturas de dados não lineares

Essas são as estruturas de dados nas quais não há vinculação sequencial de elementos de dados. Qualquer par ou grupo de elementos de dados pode ser vinculado entre si e pode ser acessado sem uma sequência estrita.

  • Binary Tree: É uma estrutura de dados onde cada elemento de dados pode ser conectado a no máximo dois outros elementos de dados e começa com um nó raiz.
  • Heap: É um caso especial de estrutura de dados em árvore, onde os dados no nó pai são estritamente maiores que / iguais aos nós filhos ou estritamente menores que seus nós filhos.
  • Hash Table: É uma estrutura de dados composta por matrizes associadas entre si por meio de uma função hash. Ele recupera valores usando chaves em vez de índice de um elemento de dados.
  • Graph: .É um arranjo de vértices e nós onde alguns dos nós são conectados entre si por meio de links.

Estruturas de dados específicas do Python

Essas estruturas de dados são específicas para a linguagem python e fornecem maior flexibilidade no armazenamento de diferentes tipos de dados e processamento mais rápido no ambiente python.

  • List: É semelhante a array, com a exceção de que os elementos de dados podem ser de tipos de dados diferentes. Você pode ter dados numéricos e de string em uma lista Python.
  • Tuple: Tuplas são semelhantes a listas, mas são imutáveis, o que significa que os valores em uma tupla não podem ser modificados, eles só podem ser lidos.
  • Dictionary: O dicionário contém pares de valores-chave como seus elementos de dados.

Nos próximos capítulos, aprenderemos os detalhes de como cada uma dessas estruturas de dados pode ser implementada usando Python.