← Grindando Leetcode: Estruturas de Dados e Algorítmos

Capítulo 2 de 3

Estruturas de Dados e Algorítmos

Miguel Aguiar @mirvoxtm

O campo de Estruturas de Dados e Algorítmos consiste em encontrar formas organizadas de armazenar e organizar informações na memória de um computador para que possam ser acessadas e manipuladas de maneira eficiente com os devidos algoritmos.

Algoritmos

Algoritmos são sequências finitas de passos bem definidos que resolvem um problema ou executam uma tarefa. Toda receita lógica - buscar um nome em uma lista, ordenar números do menor para o maior, encontrar o caminho mais curto entre dois pontos - é um algoritmo.

Os algoritmos mais utilizados nos tempos atuais são os algoritmos de busca, algoritmos de ordenação (sorting) e - principalmente em entrevistas - o de percurso em grafos.

Os algoritmos consistem extensivamente da manipulação do que chamamos de estruturas de dados.

Estruturas de Dados

Estas são formas de organizar dados e armazená-los de uma forma lógica e concisa. Cada estrutura tem regras próprias sobre como os dados entram, saem, são acessados e relacionados entre si.

Algumas das estruturas que veremos são:

  • Array (ou lista) — uma sequência ordenada de elementos acessíveis por índice.

  • Pilha (stack) — entra e sai pelo topo (LIFO: Last In, First Out).

  • Fila (queue) — entra pelo fim, sai pelo começo (FIFO: First In, First Out).

  • Lista ligada (linked list) — cada elemento aponta para o próximo.

  • Árvore — elementos organizados em hierarquia (pai/filho).

  • Tabela hash (hash map / dicionário) — pares chave-valor com acesso quase instantâneo.

  • Grafo — elementos (nós) conectados por relações (arestas).

Compartilhar:XWhatsAppFacebook

Comentários

Entre na sua conta para comentar este book.

Carregando comentários...