Inglês | 简体中文
Algoritmos e estruturas de dados
Esta é a coleção de Algoritmos, Estruturas de Dados e Perguntas de Entrevista com soluções. Este repositório contém minhas soluções para problemas algorítmicos comuns e implementação de estruturas de dados em Java. Criei este repositório para aprender sobre algoritmos. Estou adicionando soluções continuamente.
Algoritmos, estruturas de dados e mais de 300 problemas e soluções são fornecidos até agora.
Questões
Aqui estão as perguntas divididas por nível de dificuldade:
- Perguntas e respostas fáceis
- Perguntas e respostas médias
- Perguntas e respostas difíceis
Problemas:
Matrizes
- Girar matriz
- Contém duplicado
- Encontre o elemento de pico
- Submatriz Máxima
- K-ésimo maior elemento em uma matriz
- Encontre todas as duplicatas em uma matriz
- Subsequência crescente mais longa
- Girar imagem, matriz
- Embaralhar uma matriz
- Encontre Min na matriz girada
- Pesquisar em array girado
Lista vinculada
- Implementação de lista vinculada individualmente
- Implementação de lista duplamente vinculada
- Excluir nó em uma lista vinculada
- Lista vinculada do palíndromo
- Lista vinculada reversa
- Intersecção de duas listas vinculadas
- Ciclo de lista vinculada
- Remover o enésimo nó do final da lista
- Mesclar lista de classificação
- Encontre o ciclo da lista vinculada
- Mesclar k listas classificadas
E muitos outros problemas de lista vinculada
Árvore binária
- Travessia de pedido em nível de árvore binária
- Soma das folhas esquerdas
- Inverter árvore binária
- Iterador de árvore de pesquisa binária
- Travessia de pós-ordem de árvore binária
- Travessia de pré-encomenda de árvore binária
- Achatar árvore binária em lista vinculada
- Árvore Simétrica
- Travessia em ordem de árvore binária
- Mesma árvore
- Profundidade Máxima da Árvore Binária
- Árvore binária balanceada
- Profundidade Mínima da Árvore Binária
- Lista classificada para árvore de pesquisa binária balanceada
- Validar árvore de pesquisa binária
- Lista ordenada para BST balanceado
- K-ésimo menor elemento em um BST
- Travessia de ordem de nível em zigue-zague de árvore binária
- Excluir nó em um BST
- Menor ancestral comum do BST
- Vista lateral esquerda da árvore binária
- Vista lateral direita da árvore binária
- Modo em BST
- Soma da subárvore mais frequente
- Encontre o maior elemento em cada linha
- Serializar e desserializar BT
E muitos outros problemas de árvores
Matemática
- Quebra Inteira
- Bits Reversos
- Número do Palíndromo
- Matemática.pow
- Problema de jarro e água
- Peneira de Eratóstenes
- Primalidade de Fermat
- Avalie a notação polonesa reversa
Pilha e fila
- Pilha mínima
- Fila mínima
- Implementar pilha usando fila
- Implementar fila usando pilha
- Classificar pilha
Programação Dinâmica
- Números de Fibonacci
- Quebra de palavra
- Soma do Subconjunto
- 0/1 Problema da mochila
- Palíndromo mais curto (KMP)
- Soma Quadrada Mínima
- Transformação de peso máximo de uma String
- Mudança de moeda
Diversos
- União Encontrar
- Permutações
- Subconjuntos
Algoritmos
Classificando e pesquisando
- Classificação por bolha
- Classificação de inserção
- Ordenação por seleção
- Classificação de contagem
- Pesquisa binária, limites inferiores e superiores
- MesclarClassificação
- Classificação rápida
Gráficos
- Amplitude da primeira pesquisa (BFS)
- Primeira pesquisa em profundidade (DFS)
- Árvore geradora mínima de Prim (MST)
- Árvore geradora mínima de KrusKal (MST)
- Classificação Topológica
- Caminho Mais Curto Dijsktra
- Caminho mais curto Bellman-Ford
- A* Localização de caminho heurístico
- O gráfico é bipartido
- O gráfico está conectado
- Detecção de ciclo
- Detecção de ponte gráfica não direcionada
Corda
- Pesquisa de subsequência de Rabin Karp
- Nota de resgate
- String reversa
- Prefixo comum mais longo
- É Anagrama
- Agulha e palheiro
- Quebra de palavra
- Metastrings
Estrutura de dados:
Árvores
- Árvore de pesquisa binária (recursiva)
- Árvore de pesquisa binária (iterativa)
- Árvore AVL
- Trie (árvore de prefixos)
- Árvore de array com hash
- Cache LRU
Contribuir
Você encontrou um bug? Alguma maneira de fazer melhor? Sinta-se à vontade para solicitá-lo. :)