Laboratório de Algoritmo
Bem -vindo ao repositório de laboratório do algoritmo ! Este projeto contém implementações de vários algoritmos, projetados para servir como um recurso para aprendizado, referência e colaboração. Seja você um aluno, um desenvolvedor ou apenas alguém interessado em algoritmos, encontrará código e explicações úteis aqui.
Algoritmos incluídos
Algoritmos de pesquisa
- Pesquisa linear : um algoritmo de pesquisa simples que verifica cada elemento de uma lista até que o elemento desejado seja encontrado.
- Pesquisa binária : um algoritmo eficiente para encontrar um item de uma lista classificada de itens, reduzindo a complexidade do tempo para O (log n).
Algoritmos de gráfico
- Pesquisa em largura (BFS) : um algoritmo para atravessar ou pesquisar estruturas de dados de árvore ou gráfico, começando pelo nó raiz e explorando todos os vizinhos na presente profundidade antes de passar para os nós no próximo nível de profundidade.
- Pesquisa em profundidade (DFS) : um algoritmo para atravessar ou pesquisar estruturas de dados de árvore ou gráfico, começando na raiz e explorando o máximo possível ao longo de cada ramificação antes de voltar atrás.
Algoritmos de classificação
- Merge Classificação : Um algoritmo de divisão e conquista que divide a matriz em metades, classifica-os e depois os mescla novamente.
- Classificação rápida : um algoritmo de classificação eficiente, no local, dividir e conquista.
Estruturas de dados
- Algoritmo Heap : Implementação da estrutura de dados da heap e operações relacionadas.
Programação dinâmica
- Algoritmo de corte de haste : um problema de otimização que envolve cortar uma haste em pedaços menores para maximizar o lucro.
Arquivos
-
linear_search.cpp : implementação do algoritmo de pesquisa linear. -
binary_search.cpp : implementação do algoritmo de pesquisa binária. -
breadth_first_search.cpp : Implementação do algoritmo de pesquisa pela primeira vez. -
depth_first_search.cpp : Implementação do algoritmo de pesquisa de profundidade. -
heap_algorithm.cpp : Implementação do algoritmo Heap. -
merge_sort.cpp : implementação do algoritmo de classificação de mesclagem. -
quicksort.cpp : implementação do algoritmo rápido de classificação. -
rod_cutting.cpp : implementação do algoritmo de corte de haste.
Diretrizes de contribuição
Congratulamo -nos com contribuições da comunidade! Aqui estão algumas maneiras de contribuir:
- Bugs de relatório : se você encontrar bugs ou problemas, relate -os usando o rastreador de problemas.
- Melhore a documentação : ajude -nos a melhorar a documentação e facilitar a compreensão do código.
- Otimizar o código : sugira otimizações ou melhorias nas implementações existentes.
- Adicione novos algoritmos : se houver um algoritmo que não seja coberto aqui, fique à vontade para implementar e enviar uma solicitação de tração.
Como contribuir
- Garra o repositório no Github.
- Clone o garfo à sua máquina local usando o seguinte comando:
git clone https://github.com/imashiqe/algorithm_lab.git
- Crie uma nova ramificação para o seu recurso ou correção de bug.
- Compreenda suas alterações com uma descrição clara do que você fez.
- Empurre para o seu ramo no Github.
- Envie uma solicitação de tração ao repositório principal.
Licença
Este projeto está licenciado sob a licença do MIT - consulte o arquivo de licença para obter detalhes.