# Teoria dos Grafos e Complexidade Computacional

[![CC0](https://img.shields.io/badge/License-CC0-lightgrey.svg)](https://creativecommons.org/publicdomain/zero/1.0/)
[![C code](https://img.shields.io/badge/code-C-blue)](./code/c)
[![Zig code](https://img.shields.io/badge/code-Zig-orange)](./code/zig)
[![Rodar no Repl.it](https://repl.it/badge/github/storopoli/grafos-complexidade)](https://repl.it/github/storopoli/grafos-complexidade)
[![Abrir no Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/storopoli/grafos-complexidade)

> [!NOTE]
>
> For English version, please check the [README.md](README.md) file.
>
> Para a versão em inglês, por favor, confira o [README.md](README.md).

<!-- markdownlint-disable no-inline-html -->
<div class="figure" style="text-align: center">
  <img src="slides/images/algorithm_analysis_meme.jpg"
   alt="Algorithm meme" width="500" />
</div>
<!-- markdownlint-enable no-inline-html -->

## Conteúdo

1. Por que estudar Teoria dos Grafos e Complexidade Computacional?;
1. Grafos, Caminhos e Ciclos;
1. Árvores;
1. Complexidade Computacional;
1. Problemas P, NP-Completo, e NP-Difícil.
1. Análise de Algoritmos;
1. Algoritmos de Busca e Ordenação;
1. Recursividade;
1. Divisão e Conquista; e
1. Algoritmos Gulosos.

## Exemplos de Código
A principal linguagem de programação usada para os exemplos é C.
Também há exemplos em Zig.
Confira-os nos diretórios `code/c/` e `code/zig/`, respectivamente.

## Dependências

- Compilador C/C++;
- (Opcional) compilador [Zig](https://ziglang.org); e
- [`typst`](https://typst.app) para os slides.

Os slides são gerados usando [Typst](https://typst.app) com GitHub Actions
e podem ser encontrados na
[versão `latest`](https://github.com/storopoli/graphs-complexity/releases/latest/download/slides-pt.pdf).

## Licença

Este conteúdo é licenciado sob uma
[Creative Commons Public Domain CC0 1.0 License](https://creativecommons.org/publicdomain/zero/1.0/).

[![CC0](https://licensebuttons.net/l/zero/1.0/88x31.png)](https://creativecommons.org/publicdomain/zero/1.0/)
