Baixe o app para aproveitar ainda mais
Prévia do material em texto
CCT0083 - Algoritmo Avançado Aula 01: Apresentação da ementa Introdução à Programação AULA 01: Introdução à Lógica de ProgramaçãoAlgoritmo Avançado Disciplina • Disciplina CCT0083 Algoritmo Avançado • Carga Horária 80 horas Sendo - Teóricas e Práticas • Professor da Disciplina Hilson Silva Horários 3 Quarta-feira 08:40 às 10:20 Manhã Algoritmo Avançado Sexta-feira 10:40 às 12:00 Introdução à Programação AULA 01: Introdução à Lógica de Programação Ementa da Disciplina Algoritmo Avançado Algoritmo Avançado Introdução à Programação AULA 01: Introdução à Lógica de Programação Ementa Introdução a Algoritmo Avançado; Complexidade (notação O); recursividade; Algoritmo de ordenação como mergesort e quicksort; noção de grafo, árvores binárias e AVL. Algoritmo Avançado Introdução à Programação AULA 01: Introdução à Lógica de Programação Objetivo Geral Desenvolver técnicas para representação de Algoritmos Avançados e as operações sobre os mesmos, de maneira que seja possível solucionar problemas, escolhendo os Algoritmos mais adequados para representação e manipulação dos dados em problemas específicos. Algoritmo Avançado Introdução à Programação AULA 01: Introdução à Lógica de Programação Objetivos Específicos 1. Identificar e conhecer a complexidade do elemento da análise assintótica. 2. Conhecer sobre recursividade e suas definições/implementações. 3. Analisar a complexidade do algoritmo de ordenação por intercalação (mergesort). 4. Analisar a complexidade do algoritmo de ordenação rápida (quicksort). 5. Conhecer o Algoritmo em Grafos e as suas representações. 6. Identificar e analisar as complexidades das estruturas de dados dos tipos Árvore Binária e Árvore AVL. Algoritmo Avançado Introdução à Programação AULA 01: Introdução à Lógica de Programação Conteúdo programático UNIDADE 1- Introdução a Algoritmo Avançado UNIDADE 2-Recursividade UNIDADE 3-Algoritmo de ordenação por intercalação (mergsort) (mergesort)UNIDADE 4-Algoritmo de ordenação rápida (quicksort) UNIDADE 5-Estruturas de dados dos tipos Árvore Binária e Árvore AVL Algoritmo Avançado UNIDADE 6-Algoritmos em Grafos Introdução à Programação AULA 01: Introdução à Lógica de Programação Conteúdo UNIDADE 1- INTRODUÇÃO E CONCEITOS 1.1 - Algoritmo 1.2 - Estrutura de Dados 1.2.1 - Revisão de Programas em C++ envolvendo Vetores, Matrizes, Ponteiros, Registros (Struct) e Funções. 1.3 - O que é Analise de Algoritmos 1.4 - Sobre o Elemento da Análise Assintótica - Notação O 1.4.1 - Notação O 1.4.2 - Sobre a função 1.4.3 - Operações com a Notação O Algoritmo Avançado Introdução à Programação AULA 01: Introdução à Lógica de Programação Conteúdo UNIDADE II - Recursividade 2.1 - Definições recursivas 2.2 - Como implementar recursividade 2.3 - Quando não usar recursividade 2.4 - Desenvolvendo algoritmos com recursividade Algoritmo Avançado Introdução à Programação AULA 01: Introdução à Lógica de Programação Conteúdo UNIDADE III - Algoritmo de ordenação por intercalação (mergesort) 3.1 - Definição 3.2 - Dividir para conquistar 3.3 - Problema da intercalação 3.4 - O algoritmo de ordenação por intercalação mergesort. 3.5 - Análise da complexidade do algoritmo mergesort. Algoritmo Avançado Introdução à Programação AULA 01: Introdução à Lógica de Programação UNIDADE IV - Algoritmo de ordenação rápida (quicksort) 4.1 - Definição 4.2 - Ordenação rápida 4.3 - O algoritmo de ordenação rápida quicksort 4.4 - Análise da complexidade do algoritmo quicksort Conteúdo Algoritmo Avançado Introdução à Programação AULA 01: Introdução à Lógica de Programação UNIDADE V - Estruturas de dados dos tipos Árvore Binária e Árvore AVL 5.1 -Árvores, Árvores Binárias e Árvores Binárias de Busca 5.2 -Implementando as Árvores Binária 5.3 - Percorrendo uma Árvore Binária de Busca 5.4 - Percurso em Árvore 5.5 - Inserção 5.6 – Remoção 5.7 - Balanceando uma Árvore 5.7.1 - O Algoritmo DSW 5.7.2 - Árvores AVL Conteúdo Algoritmo Avançado Introdução à Programação AULA 01: Introdução à Lógica de Programação UNIDADE VI - Algoritmos em Grafos 6.1 - Conceitos de grafos. 6.2 - Representação de grafo 6.3 - Algoritmos de busca 6.4 - Algoritmo do caminho mínimo 6.4.1 - Encontrar o melhor caminho do vértice origem ao vértice destino Conteúdo Algoritmo Avançado Processo de avaliação O processo de avaliação será composto de três etapas: Avaliação 1 (AV1), Avaliação 2 (AV2) e Avaliação 3 (AV3). A AV1 será realizada por meio de provas teóricas e/ou outras atividades acadêmicas de avaliação. A soma de todas as atividades que possam vir a compor o grau final da avaliação não poderá ultrapassar o valor máximo de 10. Caso o docente opte por fazer atividades acadêmicas avaliativas além da prova teórica, estas não devem ultrapassar 20% da composição do grau final. A AV1 contemplará o conteúdo da disciplina até a sua realização. A AV2 contém créditos teórico práticos e digitais PNI de 0 a 8,0 As demais atividades acadêmicas avaliativas devem somar 2 (dois) pontos. Algoritmo Avançado Processo de avaliação A AV3 Contemplará todos os temas abordados pela disciplina. Será composta por uma prova no formato PNI ? Prova Nacional Integrada. Pontuação: de 0 a 10,0 pontos. Para aprovação na disciplina, o aluno deverá, ainda: - atingir resultado igual ou superior a 6,0, calculado a partir da média aritmética entre os graus das avaliações, sendo consideradas apenas as duas maiores notas obtidas dentre as três etapas de avaliação (AV1, AV2 e AV3). A média aritmética obtida será o grau final do aluno na disciplina; - obter grau igual ou superior a 4,0 em, pelo menos, duas das três avaliações; - frequentar, no mínimo, 75% das aulas ministradas. Algoritmo Avançado Introdução à Programação AULA 01: Introdução à Lógica de Programação Bibliografia básica Ascencio, Ana Fernanda Gomes; Araújo, Graziela Santos de. Estruturas de Dados. Algoritmos, Análise da Complexidade e Implementações em Java e C/C++ [BV:PE]. 1. ed. São Paulo: Pearson, 2013. Disponível em: https://plataforma.bvirtual.com.br/Leitor/Publicacao/1995/pdf Drozdek, Adam. Estrutura de dados e algoritmos em C++ [BV:MB].. 4. ed. São Paulo,: Cengage Learning,, 2016.. Disponível em: https://integrada.minhabiblioteca.com.br/#/books/9788522126651/cfi/0!/4/4@0. 00:0.00 Manzano, Jose´ Augusto N. G. Algoritmos - Lógica para Desenvolvimento de Programação de Computadores [BV:MB].. 28. ed. -. Sa~o Paulo: E´rica,, 2016.. Disponível em: https://integrada.minhabiblioteca.com.br/#/books/9788536518657/cfi/0!/4/4@0. 00:0.00 Algoritmo Avançado Introdução à Programação AULA 01: Introdução à Lógica de Programação Bibliografia complementar Projeto e Otimização em D ANDRADE, Mairum Ceoldo. Algoritmos [BV:RE]. 1. ed. Rio de Janeiro: SESES, 2014. Disponível em: http://repositorio.savaestacio.com.br/site/index.html#/objeto/detalhes/377757CE-7C5A- 438D-A742-482DDDC54D12 Ascencio, Ana Fernanda Gomes. Estrutura de Dados: Algoritmos, Análise da complexidade e implementações em Java e C/C++[BV:PE]. 1ª ed. São Paulo: Pearson Pentice Hall, 2010. Disponível em: https://plataforma.bvirtual.com.br/Leitor/Publicacao/1995/pdf Damas, Luís. Linguagem C / Luís Damas ; tradução João Araújo Ribeiro, Orlando Bernardo Filho.[BV:MB]. 10.ed. - [Reimpr.].. Rio de Janeiro: LTC,, 2016. Disponível em: https://integrada.minhabiblioteca.com.br/#/books/9788521632474/cfi/6/2!/4/2/2@0:0 Drozdek, Adam. Estrutura de dados e algoritmos em C++ / Adam Drozdek ; tradução: Roberto Enrique Romero Torrejon; revisão técnica: Flávio Soares Corrêa da Silva. [BV:MB]. 4a ed. São Paulo,: Cengage Learning., 2016. Disponível em: https://integrada.minhabiblioteca.com.br/#/books/9788522126651/cfi/0!/4/4@0.00:0.00 MELO,Ana. Silva,Flavio. Princípios de linguagem de programação[BV:PE]. 1ª Edição. Rio de Janeiro: Blucher, 2019. Disponível em: https://plataforma.bvirtual.com.br/Leitor/Publicacao/172605/pdf Algoritmo Avançado
Compartilhar