Estruturas de Dados é uma maneira de organizar dados em um computador para que possam ser acessados e atualizados de forma eficiente. A estrutura de dados é responsável por definir como os dados são organizados, armazenados e manipulados dentro de um programa. Uma estrutura de dados não é usada apenas para organizar os dados. Ela também é usada para processar, recuperar e armazenar dados. Existem diferentes tipos básicos e avançados de estruturas de dados que são usados em quase todos os programas ou sistemas de software que foram desenvolvidos. Entender estruturas de dados é muito importante para desenvolver algoritmos eficientes e eficazes.
- Estrutura de Dados Linear: Estrutura de dados na qual elementos de dados são organizados sequencialmente ou linearmente, onde cada elemento é anexado aos seus elementos adjacentes anteriores e posteriores, é chamada de estrutura de dados linear. Exemplos: Array, Stack, Queue, Linked List, etc.
- Estrutura de Dados Estática: Estrutura de dados estática tem um tamanho de memória fixo. É mais fácil acessar os elementos em uma estrutura de dados estática. Exemplo: Array.
- Estrutura de Dados Dinâmica: Em estrutura de dados dinâmica, o tamanho não é fixo. Ele pode ser atualizado aleatoriamente durante o tempo de execução, o que pode ser considerado eficiente em relação à complexidade de memória (espaço) do código. Exemplos: Fila, Pilha, etc.
- Estrutura de Dados Não Linear: Estruturas de dados onde os elementos de dados não são colocados sequencialmente ou linearmente são chamadas de estruturas de dados não lineares. Em uma estrutura de dados não linear, não podemos percorrer todos os elementos em uma única execução. Exemplos: Árvores e Gráficos.
Tópicos | Descrição |
---|---|
1. String |
String é uma sequência de caracteres, normalmente imutável e com conjunto limitado de elementos (letras minúsculas ou todos os alfabetos ingleses). |
1. Array |
Array é uma estrutura de dados linear que armazena uma coleção de elementos do mesmo tipo de dados. Elementos são alocados em memória contígua, permitindo acesso em tempo constante. Cada elemento tem um número de índice exclusivo. |
2. Matrix |
Matrix é um array bidimensional de elementos, organizada em linhas e colunas. É representada como uma grade retangular, com cada elemento na intersecção de uma linha e coluna. |
3. Stack |
Stack é uma estrutura de dados linear que segue o princípio Last In, First Out (LIFO). Stacks desempenham um papel importante no gerenciamento de chamadas de função, memória e são amplamente usadas em algoritmos, desenvolvimento web e sistemas como compiladores e navegadores. |
4. Queue |
Queue é uma estrutura de dados linear que segue o princípio First In, First Out (FIFO). As filas desempenham um papel importante no gerenciamento de tarefas ou dados em ordem, agendamento e sistemas de tratamento de mensagens. |
5. Linked List |
Linked List é uma estrutura de dados linear que armazena dados em nós, que são conectados por ponteiros. Diferentemente de arrays, nós de listas encadeadas não são armazenados em locais de memória contíguos e só podem ser acessados sequencialmente, começando do topo da lista. |
6. Hash |
Hashing é uma técnica que gera uma saída de tamanho fixo (valor hash) a partir de uma entrada de tamanho variável usando fórmulas matemáticas chamadas funções hash. Hashing é comumente usado em estruturas de dados para busca, inserção e exclusão eficientes e desempenha um papel fundamental em aplicativos de software como recuperação segura de dados, armazenamento de senhas, criptografia, assinaturas digitais, etc. |
7. Tree |
Tree(Árvore) é uma estrutura de dados não linear e hierárquica que consiste em nós conectados por arestas, com um nó superior chamado raiz e nós tendo nós filhos. É amplamente usada em sistemas de arquivos, bancos de dados, algoritmos de tomada de decisão, etc. |
10. Heap |
Heap é uma estrutura de dados de árvore binária completa que satisfaz a propriedade heap. Heaps são geralmente usados para implementar filas de prioridade, onde o menor ou maior elemento está sempre na raiz da árvore. |
11. Graph |
Graph é uma estrutura de dados não linear que consiste em um conjunto finito de vértices(ou nós) e um conjunto de arestas(ou links) que conectam um par de nós. Graphs são amplamente usados para representar relacionamentos entre entidades. |