Estrutura de Dados
- Estrutura de Dados
Arrays | Algoritmo e Estrutura de dados
- Um array real, em nível de sistema, é uma sequência de elementos do mesmo tipo armazenados em posições contíguas de memória. Array é fixo, homogêneo, contíguo, super eficiente
Endereço: 100 104 108 112
Valores: 10 20 30 40
Índices: 0 1 2 3
info
📦 O que vemos nas linguagens modernas (JS, Python, Java, etc.)
📌 Aqui, “array” muitas vezes não é o array real, mas sim:
- Uma abstração mais poderosa e flexível
- Geralmente chamada de lista dinâmica ou vetor dinâmico
- Internamente funciona como:
- Um array real (interno) com capacidade extra
- E um sistema que redimensiona e copia esse array conforme necessário
info
No C#, isso seria um array real
int[] numeros = new int[5]; // ou new int[] {1, 2, 3, 4, 5};
Linked List | Algoritmo e Estrutura de dados
- Uma Linked List é uma estrutura de dados onde cada elemento (chamado de nó) aponta para o próximo. Não usa blocos contíguos de memória como um array. Em vez disso, cada nó está espalhado pela memória, mas "encadeado" por ponteiros (ou referências).
Queue | FIFO | Algoritmo e Estrutura de dados
FIFO - First in First out
- O primeiro que entrou é o primeiro que sai
Hash Map | Algoritmo e Estrutura de dados
Stack | LIFO | Algoritmo e Estrutura de dados
- Pilha
- O último que entra é o primeiro que sai -
Last in First out - LIFO
Binary Tree
- Tem um
- Node
- Left (node)
- Right (node)