Estruturas de dados Java e coleção de algoritmos
Este repositório contém exemplos de código educacional para várias estruturas e algoritmos de dados implementados em Java. Ele foi projetado para ajudar os alunos a entender e aplicar conceitos fundamentais em estruturas e algoritmos de dados. Cada arquivo e pasta incluem comentários detalhados para explicar o código e os conceitos.
Conteúdo
Estruturas de dados
Estruturas de dados básicas
- Variedade
- Lista vinculada
- Lista individual
- Lista duplamente vinculada
- Lista ligada circular
- Pilha
- Fila
- Fila de prioridade
- Tabela de hash
- Definir
- Mapa
Árvores
- Árvore binária
- Árvore de pesquisa binária (BST)
- Árvore AVL
- Árvore-vermelha-preta
- Árvore do segmento
- Árvore fenwick (árvore indexada binária)
- Árvore ternária
- Árvore n-yar
Gráficos
- Gráfico direcionado
- Gráfico não direcionado
- Gráfico ponderado
Algoritmos
Algoritmos de classificação
- Tipo de bolha
- Classificação de seleção
- Classificação de inserção
- Mesclar classificar
- Classificação rápida
- Classificação da pilha
- Contagem de classificação
- Radix Sort
- Corrente do balde
- Bingo Classificação
- Classificação da concha
- Tipo de pente
- Tipo de coquetel
Algoritmos de pesquisa
- Pesquisa linear
- Pesquisa binária
- Primeira pesquisa de profundidade (DFS)
- Primeira pesquisa em largura (BFS)
- Pesquisa de salto
- Pesquisa de Fibonacci
Algoritmos de gráfico
- Algoritmo de Dijkstra
- Algoritmo Bellman-Ford
- Algoritmo Floyd-Warshall
- Algoritmo de Kruskal
- Algoritmo de Prim
- Tipo topológico
- A* Algoritmo de pesquisa
- Algoritmo Huffman
Programação dinâmica
- Série Fibonacci
- Subsequência comum mais longa (LCS)
- Subseqüência crescente mais longa (LIS)
- Multiplicação da cadeia da matriz
Algoritmos de matemática e matemática discretos
- Permutações e combinações
- Problema da soma do subconjunto
- Problema de vendedor ambulante (TSP)
- Gráfico para colorir
Como usar
Cada arquivo e pasta Java é nomeado para indicar a estrutura ou algoritmo de dados que ele cobre. Por exemplo, dentro da pasta Algorithms , a pasta 1-sorting_algorithms contém 1-bubble_sort , que lida com o algoritmo de classificação de bolhas em Java.
Contribuindo
Se você deseja contribuir com este repositório, sinta -se à vontade para enviar uma solicitação de tração. Você pode adicionar novos exemplos, melhorar o código existente ou corrigir quaisquer problemas. As contribuições de todos os níveis são bem -vindas!
Licença
Este repositório é licenciado sob a licença do MIT. Consulte o arquivo de licença para obter mais informações.
Nota: Este repositório destina -se a fins educacionais para ajudar a aprender e entender as estruturas e algoritmos de dados em Java.
Lembre -se de estrelar o repositório se achar útil!