Ponteiros e alocação dinâmica de memória.
Princípios da análise de algoritmos
- Complexidade computacional.
- Análise assintótica: notação Big-O.
Recursão
- Algoritmos recursivos
- Método da divisão e conquista
Estrutura de dados
- Elementares (lineares):
- Arrays e listas
- Listas encadeadas.
- Tipos abstratos de dados
- Filas
- Pilhas
- Árvores binárias
Algoritmos de ordenação
- Métodos elementares:
- Selection Sort
- Insertion Sort
- Bubble Sort
- Quicksort
- Mergesort
- Filas de prioridades e heapsort
- Radix sorting
Algoritmos de busca
- Busca sequencial
- Busca binária
- Árvores de busca binária
2024.1
- 10/04
- Exercício: Move Os Xs + PDF
- Anotações da aula - PDF
- Gravação da aula - Drive
- 17/04
- Exercício: Get Min Lista Encadeada + PDF
- Exercício: Ajude Aparecido + PDF
- Anotações da aula - PDF
- Gravação da aula - Drive
- 24/04
- Exercício: Impressão E Inserção + PDF
- Anotações da aula - PDF
- Gravação da aula - Drive
- 08/05
- Exercício: Bin Tree
- Exercício: Queue
- Exercício: Stack
- Exercício: Elevator Trouble + PDF
- Exercício: Bin Search
- Anotações da aula - PDF
- Gravação da aula - Drive
- 15/05
- Exercício: Dev Cp Ambitious Xoxo + PDF
- 05/06
- Exercício: Ordenacoes E Priority Queue
- Anotações da aula - PDF
- Gravação da aula - Drive
- Plano de Ensino
- Robert Sedgewick Algorithms in C, Addison Wesley, 3nd ed.
- Algorithms, 4th Edition - Robert Sedgewick e Kevin Wayne
- Prof. Bruno Ribas
- Prof. Paulo Feofiloff
- Thomas H. Cormen et al Algoritmos - Teoria e Prática, Elsevier, 3nd ed.
Para compilar os códigos que utilizam as bibliotecas customizadas da pasta libs
é necessário utilizar o seguinte comando:
mkdir "listas/XX/code/output"
gcc -I libs -o "listas/XX/code/output/YY" "listas/XX/code/YY.c"
"./listas/XX/code/output/YY"
Em que XX
é o número da lista e YY
é o número do exercício.