top of page
SISB087 - PROGRAMAÇÃO 2 - 2020.2
Professor: Thyago Tenório Martins de Oliveira
Carga Horária: 72h (teórica e prática )
Horário: Quarta-Feira (19:00 até 22:30) - Síncrono



ClassRoom: Link - n5twvyq
WhatsApp: Link
Aulas - Meet: Link
Ementa P2:
Importância da Estrutura de Dados na solução de problemas. Vetores e Matrizes.
Estrutura de dados Linear e Não Linear. Estruturas de Dados: Pilhas, Filas, Listas, Árvores, Florestas e Introdução à Grafos. Implementação de Estruturas de Dados com alocação estática e dinâmica de memória com e sem ponteiros. Algoritmos de Ordenação.
Algoritmos de Busca. Programação avançada e resolução de problemas complexos.
Introdução à Análise de algoritmos.
Bibliografia Básica:
1- GOODRICH, M. T.; TAMASSIA, R. Estruturas de Dados e Algoritmos Em Java. 5°
Edição. Bookman. 2013.
2- LAUREANO, M. Estrutura de Dados com algoritmos e C. 1° Edição. São Paulo:
Brasport. 2008.
3- TENENBAUM, A. M.; YEDIDYAH, L.; MOSHE, J. A. Estruturas de dados usando C.
São Paulo: Makron Books, 1995.
Bibliografia Complementar:
1- FORBELLONE, André Luiz Villar; EBERSPÄCHER, Henri Frederico. Lógica de
Programação: A construção de Algoritmos e Estruturas de Dados. São Paulo: Pearson,
2005.
2- LANGSAM, Y.; AUGENSTEIN, M.J.; TENENBAUM, A.M. Data Structures Using C
and C++. Prentice Hall, 1996.
3- NETTO, Paulo Oswaldo Boaventura. Grafos: teoria, modelos, algoritmos. Edgard
Blücher, 2003.
4- SHAFFER, C. A. Data Structures and Algorithm Analysis. Edition 3.2.0.9, Dover
Publications, 2013.
5- TOSCANI, LAIRA VIEIRA. Complexidade de Algoritmos - Volume 13. Bookman,
2012.
6- WEISS, M. A Data Structures and Algorithm Analysis in C. Benjamin-Cummings,
1993
Cronograma:
Materiais:
1 a 1.3 - Plano de Curso - Programação 2
1.4 Revisão - Comandos em C
1.4 Revisão - Linguagem C - Comandos Básicos
1.4 Revisão C - Estruturas Estáticas
2 a 4 - Introdução + Vetores + Listas
2.5 Introdução a Análise de Algoritmos (até Slide 40)
Lista de Exercícios:
1. Atividade - Vetor
Códigos:
5 e 6. Pilhas e Filas
6. Introdução Pilha
2. Palíndromo - Fazer um programa que receba um texto e indicar se o texto é ou não um palíndromo - Usar Pilha
Prova AB1
Notas AB1
7. HashTable
3. Atividade - HashTable
4. Grafo - Adaptar o código apresentado em sala para utilizar matriz de adjacência como forma de representação de um grafo
8. Graph
9. Tree
Calendário Atualizado:
Notas AB2
25/08/2021: 8 - Grafos 8.1 - Introdução 8.2 - Conceitos Básicos e Terminologia 8.3 - Implementação 8.4 - Aplicações 8.5 - Exercícios sobre Grafos;
01/09/2021: III Encontro de Socialização
08/09/2021:
9 - Árvores 9.1 - Introdução 9.2 - Conceitos Básicos e Terminologia 9.3 - Árvores Binárias. 9.4 - Árvore Binária de Pesquisa
15/09/2021: Seminário - Algoritmos de Busca e Ordenação
22/09/2021: Prova de Reavaliação
29/09/2021: Prova Final
Seminário:
A ideia do seminário é apresentar como cada algoritmo resolve o problema de ordenação e busca, comentando sobre suas estratégias de implementação e apresentando-as em cima de um exemplo de implementação (código). Não é necessário apresentar linha por linha do código, mas sim a ideia principal e como ela se reflete no código. Apresentar exemplos com dados reais ajudará e contará na nota final.
Temas:
1- Selection sort e Pesquisa Indexada Sequencial
2- Shellsort e Pesquisa por Hashing
3- MergeSort e Algoritmos Géneticos
4- HeapSort e Algoritmo de Dijkstra
5- Insertion Sort e Pesquisa Binária
6- QuickSort e Algoritmo Max Min
bottom of page