Este repositório contém a implementação de algoritmos de busca (linear, binária, interpolação e exponencial) aplicados a um cenário de e-commerce, focado em localizar produtos, melhores preços e identificar os mais vendidos em um intervalo de tempo. Este projeto foi desenvolvido em C# como uma aplicação console.
- Requisitos
- Ferramentas Necessárias
- Instalação
- Como Rodar o Projeto
- Funcionalidades
- Estrutura do Projeto
- Contribuição
- Licença
Para desenvolver e rodar este projeto, você precisará dos seguintes requisitos:
- .NET SDK 8.0: Certifique-se de que a versão correta do .NET SDK está instalada.
- Visual Studio Code (VSCode): Editor de código recomendado.
- Extensões do VSCode:
- C# - Para suporte ao desenvolvimento com C#.
- NuGet Package Manager - Para gerenciamento de pacotes NuGet.
-
Visual Studio Code (VSCode)
- Download: VSCode
-
.NET SDK 8.0
- Download: .NET SDK 8.0
-
Git
- Ferramenta de controle de versão para clonar o repositório.
- Download: Git
-
Clonar o Repositório
Clone este repositório no seu ambiente local utilizando o comando abaixo:git clone https://github.com/rubenslyra/algoritmos-busca-console.git
-
Instalar o .NET SDK 8.0
Certifique-se de que o .NET SDK 8.0 está instalado executando o comando abaixo:dotnet --version
O retorno esperado é algo como
8.0.x
. -
Abrir o Projeto no VSCode
Navegue até o diretório do projeto e abra-o no VSCode:code .
-
Restaurar Pacotes NuGet
Dentro do terminal do VSCode, execute o comando a seguir para restaurar os pacotes NuGet:dotnet restore
-
Build do Projeto
Para compilar o projeto, execute o comando:dotnet build
-
Executar o Projeto
Para rodar o projeto console e executar os algoritmos de busca, utilize:dotnet run
-
Testes
Caso o projeto tenha testes unitários, você pode rodá-los utilizando o comando:dotnet test
- Busca Linear: Percorre a lista de produtos um por um até encontrar o item desejado.
- Busca Binária: Ideal para listas ordenadas, divide o array ao meio repetidamente até encontrar o item.
- Busca por Interpolação: Busca em listas distribuídas uniformemente (como uma lista de preços), oferecendo uma otimização baseada no valor.
- Busca Exponencial: Começa verificando um intervalo crescente e, em seguida, realiza uma busca binária nos itens relevantes. Útil para grandes quantidades de dados.
algoritmos-busca-console/
│
├── /src # Código-fonte do projeto
│ ├── Program.cs # Ponto de entrada da aplicação
│ └── Algorithms.cs # Implementação dos algoritmos de busca
│
├── /tests # Testes unitários (se aplicável)
│ └── AlgorithmsTests.cs
│
├── /assets # Arquivos de imagens e outros recursos (se necessário)
├── README.md # Este arquivo README
└── .gitignore # Arquivo para ignorar certos arquivos no controle de versão
Para contribuir com o projeto:
- Faça um fork do repositório.
- Crie um branch para a sua funcionalidade (
git checkout -b nova-funcionalidade
). - Faça commit das suas alterações (
git commit -m 'Adicionar nova funcionalidade'
). - Faça push para o branch (
git push origin nova-funcionalidade
). - Abra um Pull Request.
Este projeto é licenciado sob os termos da licença MIT. Para mais detalhes, consulte o arquivo LICENSE
.
Autor: Rubens Lyra (@rubenslyra)