Documentação de trabalhos desenvolvidos
Disciplinas | Nota |
---|---|
Algoritmos e Estruturas de Dados I | 9.9 |
Cálculo II | 9.3 |
Introdução à Analise de Algoritmos | 10.0 |
Matemática Discreta | 7.0 |
Matrizes, Vetores e Geometria Analítica | 9.5 |
Média ponderada ao final do semestre | 8.8 |
Tipos abstratos de dados. Pilhas e filas, estáticas e dinâmicas. Operações básicas e análise dos algoritmos. Listas lineares simples e duplamente encadeadas, estáticas e dinâmicas, circulares, com nó sentinela. Operações básicas sobre listas lineares e análise dos algoritmos. Aplicações de listas lineares, pilhas e filas em problemas computacionais relevantes. Representação de matrizes esparsas utilizando listas encadeadas. Estruturas de dados não lineares: árvores, árvores binárias, operações básicas sobre árvores e análise dos algoritmos. Árvores binárias de busca, árvores binárias de busca balanceadas, árvores AVL, operações básicas e análise dos algoritmos. Aplicações de estruturas não lineares em problemas computacionais relevantes e análise dos algoritmos.
Funções reais de várias variáveis reais. Limite e Continuidade. Derivadas Parciais. Regra da Cadeia. Derivadas Direcionais. Máximos e mínimos. Integrais.
Técnicas de desenvolvimento de algoritmos baseadas em indução fraca e forte, tentativa e erro, técnicas gulosas e programação dinâmica. Elementos de análise assintótica de algoritmos (notação O, Omega e Theta) iterativos e recursivos. Desenvolvimento e análise da complexidade de diferentes algoritmos de ordenação (BubbleSort, InsertionSort, SelectionSort, QuickSort, MergeSort, HeapSort, CountingSort e RadixSort).
Números inteiros e estruturas finitas (conjuntos finitos, estruturas algébricas, grafos) em oposição aos números reais e estruturas infinitas (a reta real, cálculo diferencial); algoritmos e o computador digital como estruturas discretas.
Lógica e cálculo proposicional: proposições; conectivos lógicos elementares; tabelas verdade; tautologias e contradições; equivalência lógica; álgebra de proposições; declarações condicionais; argumentos e falácias; quantificadores e negação de declarações quantificadas; estratégias de demonstração: direta, da contraposição, por contradição. Teoria elementar dos conjuntos: conjuntos e elementos; diagramas de Venn; operações sobre conjuntos; álgebra de conjuntos; classes de conjuntos, conjuntos potência e partições; correspondências um-a-um e conjuntos infinitos; princípio da indução finita.
Relações e funções: pares ordenados e produtos cartesianos; relações, domínio e imagem; composições de relações; tipos de relações; relações de equivalência; relações de ordem parcial, DAGs e ordem topológica; funções injetoras, sobrejetoras e bijetoras.
Álgebras booleanas: álgebra booleana; o princípio da dualidade; formas booleanas; tabelas verdade e funções booleanas; formas disjuntivas mínimas; mapas de Karnaugh.
Princípios de contagem: arranjos; permutações com e sem repetições; combinações com e sem repetições; o teorema binomial e aplicações; o princípio do pombal e aplicações; o princípio da inclusão-exclusão e aplicações.
Teoria elementar dos números: números; aritmética nas bases binária (em complementos de 1 e 2), octal e hexadecimal; aritmética modular; MMC, MDC e o algoritmo de Euclides.
Sistemas de equações lineares, operações matriciais, inversão de matrizes, determinantes, combinação linear, independência linear, subespaço, base e dimensão, autovalores e autovetores, diagonalização de matrizes, equações de retas e planos no espaço, produtos escalar e vetorial.