Este projeto tem por objetivo é estudar as técnicas computacionais para a organização e manipulação eficiente de diferentes quantidades de informações. A escolha adequada de estruturas de dados é fundamental para garantir a eficiência dos algoritmos, tanto em termos de tempo de execução quanto em métricas de avaliação de desempenho.
- Notação Big-O para análise de algoritmos.
- Vetores ordenados e não ordenados.
- Pilhas, filas e deques.
- Listas encadeadas:
- Simples
- Com extremidade dupla
- Duplamente encadeadas
- Recursão
- Algoritmos de Ordenação:
- Bubble Sort
- Selection Sort
- Insertion Sort
- Shell Sort
- Merge Sort
- Quick Sort
- Árvores Binárias de Busca
- Grafos:
- Algoritmo de Dijkstra
- Busca A Estrela (A*)
- Busca Gulosa
- Algoritmos de busca em grafos
O projeto é organizado em vários notebooks Jupyter, cada um abordando um tópico específico:
Para executar os notebooks deste projeto, você pode usar o Jupyter Notebook. Siga os passos abaixo:
- Clone este repositório:
git clone <URL do repositório> cd <nome do repositório>
Instale as dependências necessárias (se houver):
bash Copiar código pip install -r requirements.txt Inicie o Jupyter Notebook:
bash Copiar código jupyter notebook Abra os notebooks desejados e comece a explorar!