Big O Notation
Análise assintótica de algoritmos para avaliar eficiência e complexidade temporal e espacial.
From Zero to Hero - Roadmap organizado para uma aprendizagem fluida
Análise assintótica de algoritmos para avaliar eficiência e complexidade temporal e espacial.
Estruturas de dados sequenciais fundamentais para armazenar coleções ordenadas de elementos com acesso por índice.
Estrutura de dados para manipulação e processamento de texto e caracteres.
Algoritmos simples de ordenação por comparação: Bubble Sort, Selection Sort e Insertion Sort com complexidade O(n²).
Estrutura de dados linear onde cada elemento aponta para o próximo, permitindo inserção e remoção eficientes.
Algoritmo eficiente para busca em arrays ordenados com complexidade O(log n).
Técnica que usa dois ponteiros para resolver problemas de array e lista de forma eficiente.
Padrão de algoritmo para resolver problemas de subarray com janela deslizante.
Técnica para otimizar queries de soma em arrays com pré-computação.
Estrutura de dados que mapeia chaves a valores usando função hash para acesso rápido O(1).
Estrutura LIFO (Last In First Out) usada para gerenciar elementos em ordem reversa de inserção.
Conceitos fundamentais de recursão, base cases e chamadas recursivas.
Aplicação de recursão no paradigma funcional e técnicas avançadas.
Estrutura FIFO (First In First Out) para processar elementos na ordem de chegada.
Algoritmos de travessia em árvores: Depth-First Search (DFS) e Breadth-First Search (BFS).
Estrutura hierárquica onde cada nó tem no máximo dois filhos, base para muitas estruturas de dados avançadas.
Árvores onde cada nó pode ter N filhos, generalizando árvores binárias.
Árvore binária ordenada que permite busca, inserção e remoção eficientes com complexidade O(log n).
Árvore binária completa que mantém propriedade de heap (min-heap ou max-heap).
Algoritmo de ordenação usando estrutura de heap binário com complexidade O(n log n).
Algoritmo de ordenação estável usando divisão e conquista, com complexidade garantida O(n log n).
Otimização do Insertion Sort usando gap sequences para melhor performance.
Algoritmo eficiente de ordenação por divisão e conquista com complexidade média O(n log n).
Conceitos básicos de grafos: vértices, arestas, representação (matriz/lista de adjacência).
Algoritmos para traversar grafos: Depth-First Search (DFS) e Breadth-First Search (BFS).
Encontra o caminho mais curto entre vértices em grafos com pesos não-negativos.
Algoritmo de caminho mais curto que suporta arestas com pesos negativos.
Algoritmo de pathfinding com heurística para encontrar caminhos de forma eficiente.
Ordenação linear de vértices em grafos acíclicos direcionados (DAGs).
Algoritmos para encontrar árvores geradoras mínimas em grafos ponderados: Kruskal e Prim.
Técnica para explorar todas as soluções possíveis através de busca exaustiva com retrocesso.
Estrutura de dados probabilística que permite busca, inserção e remoção eficientes.