Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

wagnerdevocelot/AlGo

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
30 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AlGo

Este repositório contém implementações e explicações de algoritmos e estruturas de dados em Go (Golang). Ele foi projetado para ajudar desenvolvedores a entender conceitos fundamentais de algoritmos, estruturas de dados e análise de complexidade, com exemplos práticos e bem documentados.

Estrutura do Projeto

O projeto está organizado em pastas, cada uma representando um tópico ou conceito específico. Abaixo está uma visão geral das pastas e seus conteúdos:

1. RECURSION

  • Descrição: Exemplos de recursão direta, indireta, tail recursion e head recursion.
  • Arquivos principais:
    • sumrange.go: Soma recursiva de números.
    • tailcall.go: Exemplo de recursão em cauda.
    • fatorial.go: Implementação do cálculo de fatorial.
    • indirect.go: Exemplo de recursão indireta.
    • head.go: Exemplo de recursão em cabeça.
    • callstack.go: Demonstração do funcionamento da pilha de chamadas.
  • Documentação: README

2. PROBLEM_SOLVING

  • Descrição: Estratégias e padrões para resolução de problemas.
  • Arquivos principais:
    • bruteforce.go: Busca linear usando força bruta.
    • dividenconquer.go: Exemplo de divisão e conquista com Fibonacci.
    • backtracing.go: Algoritmo de backtracking para combinações de soma.
  • Documentação: README

3. LINEAR_DATA_STRUCTURES

  • Descrição: Implementações de estruturas de dados lineares.
  • Subpastas:
    • STACK: Implementação de pilhas (LIFO).
      • Arquivos: stack.go, sliceStack.go
      • Documentação: README
    • QUEUE: Implementação de filas (FIFO) e filas circulares.
      • Arquivos: queue.go, linkedQueue.go, circularQueue.go
      • Documentação: README
    • SET: Implementação de conjuntos com operações de união e interseção.
      • Arquivo: sets.go
      • Documentação: README
    • SINGLE_LINKED_LIST: Implementação de listas encadeadas simples.
      • Arquivo: linkedlist.go
      • Documentação: README
    • DOUBLY_LINKED_LIST: Implementação de listas duplamente encadeadas.
      • Arquivo: doubly.go
      • Documentação: README

4. BIG O NOTATION

  • Descrição: Explicações e exemplos de análise de complexidade de algoritmos.
  • Subpastas:
    • constante: Exemplos de complexidade constante O(1).
      • Arquivo: constant.go
      • Documentação: README
    • linear: Exemplos de complexidade linear O(n).
      • Arquivo: linear.go
      • Documentação: README
    • polinomial: Exemplos de complexidade quadrática O(n²) e cúbica O(n³).
      • Arquivos: quadratico.go, cubico.go
      • Documentação: README
    • logaritmo: Exemplos de complexidade logarítmica O(log n).
      • Arquivo: logaritmo.go
      • Documentação: README
  • Documentação geral: README

Como Executar

  1. Certifique-se de ter o Go instalado em sua máquina. Instale o Go se necessário.
  2. Clone este repositório:
    git clone https://github.com/seu-usuario/AlGo.git
    cd AlGo
  3. Navegue até a pasta desejada e execute os arquivos .go:
    go run nome_do_arquivo.go

Contribuições

Contribuições são bem-vindas! Sinta-se à vontade para abrir issues ou enviar pull requests com melhorias, correções ou novos exemplos.

Morty Proxy This is a proxified and sanitized view of the page, visit original site.