sarmentow / bootcamp2024

Bootcamp de programação competitiva de 2024 da polibits

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Bootcamp 2024

O Bootcamp de Programação Competitiva da Polibits ensina o básico de C++ para as principais competições de computação, como a Olimpíada Brasileira de Informática (OBI) e a International Collegiate Programming Contest (ACM-ICPC)

Autores:

  • Henrique Eduardo: @henriqueedu2001

Referências

Compilação

Na pasta desse repositório, você tem um arquivo main.cpp, com um template básico de um programa em C++. Você pode escrever seus códigos nele.

Ao terminar de escrever o programa, abra o terminal do vs code. Certifique-se de que você está na pasta bootcamp2024/. Para executar o programa, você deve antes compilá-lo:

g++ -o main main.cpp

Em seguida, execute-o pelo terminal

./main

Conteúdo

Introdução ao C++

Resumo: conceitos básicos de programação e da linguagem C++

  1. Entradas e saídas
  2. Tipos de variáveis
  3. Operações aritméticas e lógicas
  4. Estruturas condicionais if e else
  5. Laços while, for e do while
  6. Funções
  7. Vetores
  8. Matrizes

Estruturas de Dados

Resumo: estudo de vetores, pilhas, filas, dentre outros, com a biblioteca STL

  1. Vetores dinâmicos da STL
  2. Pilhas (STL)
  3. Filas (STL)
  4. Listas Encadeadas (STL)

Algoritmos

  1. Algoritmos de ordenação: Selection Sort, Bubble Sort, Insertion Sort
  2. Conceito de complexidade
  3. Algoritmos de busca: busca linear, busca binária
  4. Gulosos
  5. Backtracking
  6. Dinamic programming

Grafos

  1. Árvores e suas representações
  2. Busca em árvores
  3. Árvores de busca binária
  4. Grafos e suas representações:
  5. Grafos direcionados e não direcionados
  6. Busca em largura (BFS)
  7. Busca em profundidade (DFS)
  8. Dijkstra

Cronograma de Aulas (Preliminar)

Aula 1: Introdução

  • Apresentação da Polibits
  • Introdução às competições de programação
  • Conceitos básicos de C++
  • Tipos de dados, operadores e entrada/saída básica
  • Exercícios práticos

Aula 2: Estruturas de Controle e Loops

  • Condicional if-else e switch-case
  • Loops while, do-while e for
  • Utilização de break e continue
  • Exercícios práticos

Aula 3: Vetores e Matrizes

  • Vetores
  • Matrizes
  • Strings
  • Exercícios práticos

Aula 4: Biblioteca STL

  • Vetores dinâmicos (STL)
  • Pilhas (stacks)
  • Filas (queues)
  • Exercícios práticos

Aula 5: Biblioteca STL

  • Listas encadeadas (Linked Lists)
  • Conjuntos (Sets)
  • Exercícios práticos

Aula 6: Algoritmos de Ordenação

  • Algoritmos de ordenação: Selection Sort, Bubble Sort, Insertion Sort
  • Algoritmos de ordenação eficientes: Quick Sort, Merge Sort
  • Conceito de complexidade
  • Exercícios práticos

Aula 7: Algoritmos de Busca

  • Busca linear
  • Busca binária
  • Buscas em strings

Aula 7: Algoritmos Especiais

  • Gulosos
  • Backtracking
  • Exercícios práticos

Aula 8: Árvores

  • Árvores e suas representações
  • Busca em árvores
  • Árvores de busca binária

Aula 9: Grafos

  • Introdução aos grafos e suas representações
  • Grafos direcionados e não direcionados
  • Implementação de grafos em C++ utilizando matrizes de adjacência
  • Exercícios práticos

Aula 10: Buscas em Grafos

  • Algoritmos em grafos: busca em largura (BFS) e busca em profundidade (DFS)
  • Aplicação de BFS e DFS em problemas de grafos
  • Dijkstra
  • Exercícios práticos

About

Bootcamp de programação competitiva de 2024 da polibits

License:GNU General Public License v3.0


Languages

Language:Jupyter Notebook 85.6%Language:C++ 13.1%Language:Python 1.3%