ESTRUTURAS DE DADOS (LEI, LM, LEE) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2017/2018

Documentos relacionados
PROGRAMAÇÃO E ALGORITMOS (LEI, TSI) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2016/2017

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular ALGORITMOS E ESTRUTURAS DE DADOS Ano Lectivo 2018/2019

AED Algoritmos e Estruturas de Dados LEE /2004

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular ALGORITMOS E ESTRUTURAS DE DADOS Ano Lectivo 2017/2018

Algoritmos e Estruturas de Dados II LEIC

CAL ( ) MIEIC/FEUP Grafos: Introdução (Março, 2011)

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular INTRODUÇÃO AOS ALGORITMOS E ESTRUTURAS DE DADOS Ano Lectivo 2016/2017

AED Algoritmos e Estruturas de Dados LEEC /2005. Apresentação. Algoritmos e Estruturas de Dados

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular INTRODUÇÃO AOS ALGORITMOS E ESTRUTURAS DE DADOS Ano Lectivo 2014/2015

Corpo Docente. Algoritmos e Estruturas de Dados LEE 2014/ /02/15. Apresentação. } Fernando Mira da Silva

Estruturas de Dados Aula 1: Introdução e conceitos básicos 28/02/2011

Web site. Profa. Patrícia Dockhorn Costa.

Estrutura de Dados e Algoritmos

Estruturas de Dados. Pedro Ribeiro 2017/2018 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Estruturas de Dados 2017/ / 16

AED Algoritmos e Estruturas de Dados LEEC /2006. Apresentação

Algoritmos e Estruturas de Dados

Algoritmos e Estrutura de Dados. Aula 01 Apresentação da Disciplina e Introdução aos Algoritmos Prof. Tiago A. E. Ferreira

Anual Obrigatória X Semestral X Opcional. Regime Diurno Nocturno Horas/semana T Teórica 2 Ano 1 1 T/P Teórico/Prática 4 Semestre 1 1 P- Prática

SIN5013 Análise de Algoritmos e Estrutura de Dados - 1o Semestre de 2019

PLANO ANALÍTICO DA DISCIPLINA DE ESTRUTURA DE DADOS E ALGORÍTMOS

If969 - Algoritmos e Estruturas de Dados

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA DEPARTAMENTO DE INFORMÁTICA APLICADA

Informações Importantes! INF TURMA A

Descrição da Disciplina

B-tree. B-Trees. Estrutura do nodo da B-tree. Balanceamento. Disposição dos elementos ordenados na B-tree. Exemplo de uma B-tree de ordem 3

Algoritmos para Automação e Sistemas

Estrutura de Dados. Plano de Ensino. Vilson Heck Junior. Campus Lages. Instituto Federal de Santa Catarina

MC3305 Algoritmos e Estruturas de Dados II. Aula 00 Apresentação. Prof. Jesús P. Mena-Chalco.

Ana Paula Rocha José Magalhães Cruz Rui Camacho. 26 de Fevereiro de 2009

[Cormen et al., 2002] Algoritmos: Teoria e Prática Tradução da segunda edição em inglês.

PLANO DE DISCIPLINA DISCIPLINA: Estrutura de Dados 2

PCC104 - Projeto e Análise de Algoritmos

PLANO DE DISCIPLINA DISCIPLINA: Algoritmos e Programação

Análise e Projeto de Algoritmos

PLANO DE DISCIPLINA DISCIPLINA: Análise de Algoritmos

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO PRÓ-REITORIA DE ENSINO DE GRADUAÇÃO

English version at the end of this document

SCC-201 Introdução à Ciência de Computação II

Planejamento da Disciplina

Análise e Síntese de Algoritmos.

Desenho e Análise de Algoritmos

Programa Analítico de Disciplina INF333 Programação Competitiva

PLANO DE DISCIPLINA DISCIPLINA: Algoritmos e Programação

Projeto e Análise de Algoritmos

Disciplina: Programação I

English version at the end of this document

n Professor n Duas Avaliações prático-teóricas: n Componente Teórico: 20 pontos n Componente Prático: 15 pontos

PROGRAMAÇÃO III (LTSI)

Programa Analítico de Disciplina SIN213 Projeto de Algoritmos

English version at the end of this document

Desenho e Análise de Algoritmos

Programação Estruturada Aula Plano de Disciplina

English version at the end of this document

Estrutura de Dados e Arquivos Ementa Objetivo Geral Conteúdo Avaliação

PLANO DE DISCIPLINA DISCIPLINA: Análise de Algoritmos

EDITAL Nº 03/ PPg-BIOINFO-UFRN/2016

Instituto Superior de Ciências e Tecnologia de Moçambique

BCC402 Algoritmos e Programação Avançada. Prof. Marco Antonio M. Carvalho Prof. Túlio Toffolo 2012/1

Análise e Projeto de Algoritmos

PLANIFICAÇÃO ANUAL. 1. Introdução à Programação e Algoritmia. Tempos letivos previstos (45) Período escolar

Busca em Profundidade. Busca em Grafos. Busca em Grafos. Busca em Grafos. Busca em Grafos. Os objetivos da busca são: Aplicações???

Representações de Grafos

Algoritmos e Estruturas de Dados. Lição n.º 1 Algoritmos e Estruturas de Dados

BCC402 Algoritmos e Programação Avançada. Prof. Marco Antonio M. Carvalho Prof. Túlio Ângelo M. Tóffolo 2011/1

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular INTRODUÇÃO À PROGRAMAÇÃO Ano Lectivo 2017/2018

UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática. 3 a ETAPA

ESTRUTURAS DE DADOS (LEI, LM, LEE) PROGRAMAÇÃO III (LTSI) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2017/2018

INE5408 Estruturas de Dados. Apresentação e Programa da Disciplina

SCC0502 Algoritmos e Estruturas de Dados I. Profa. Maria Cristina

Documento de uso exclusivo da unidade, não possui valor legal. 28/06/ :43:00. Matéria: Carga Horária Total. Prática: 44 Campo: 44

Grafos representação e aplicações. Prof. Guilherme Tomaschewski Netto

CURSO PROFISSIONAL Técnico de Gestão e Programação de Sistemas Informáticos

SCC0502 Algoritmos e Estruturas de Dados I

Introdução. Estrutura de Dados II Prof Jairo Francisco de Souza

Implementação de algoritmos para consultas de segmentos em janelas

Emparelhamentos Máximos em Grafos Bipartidos

Estrutura de Dados II

Filas de Prioridades Letícia Rodrigues Bueno

Planificação Anual da disciplina de Programação e Sistemas de Informação 10º 1PI

REGIME DE TRABALHO TRÊS LAGOAS/MS. Auxílio. 20h 2.236,31 206,35 549, ,52 229, , , ,83

5COP096 TeoriadaComputação

Complexidade de Algoritmos

Apresentação da Unidade Curricular 2012/13

Arvores binárias. Fonte: PF 14 pf/algoritmos/aulas/bint.html

Mestrado Integrado Engenharia Aeronáutica, 1 o Ano, 1 o Semestre 2017/2018

Algoritmos em Grafos: Caminho Mínimo

Estruturas de Dados Apresentação da Disciplina

Algoritmos em Strings (compressão de texto)

ALGORITMOS E ESTRUTURAS DE DADOS CES-11

PROGRAMAÇÃO E ALGORITMOS (LEII) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2016/2017

Teoria da Computação. Aula 9 Pesquisa em Memória Secundária 5COP096. Aula 9 Prof. Dr. Sylvio Barbon Junior. Sylvio Barbon Jr

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular OPÇÃO 3 - TEORIA DA COMPUTAÇÃO Ano Lectivo 2011/2012

PLANO DE APRENDIZAGEM. CH Teórica: 80 Prática: 20 CH Total: 100 Créditos: 05 Pré-requisito(s): Linguagem de Programação I Período: III Ano: 2019.

Complexidade de Algoritmos

BCC Projeto e Análise de Algoritmos Aula 0: Apresentação

não descobertos descobertos explorados descoberta cruzamento

03 Grafos: percurso, ponderação e caminhos SCC0503 Algoritmos e Estruturas de Dados II

GUIA DE FUNCIONAMENTO DA UNIDADE CURRICULAR

ESTRUTURA DE DADOS DCC013

Transcrição:

ESTRUTURAS DE DADOS (LEI, LM, LEE) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2017/2018

Página da Disciplina http://www.di.ubi.pt/~hugomcp/estruturas Conteúdo: Avaliação. n Consulta das classificações atribuídas a cada item de avaliação. Acetatos teóricos e fichas práticas. Anúncios. n Informação relevante sobre a disciplina. n Datas limite para entrega de trabalhos, novidades, etc... Links. n Tutoriais, manuais, e outros recursos disponíveis on-line e de interesse para a disciplina. Etc...

Critérios de Avaliação Assiduidade (A) Serão registadas as presenças nas aulas teóricas e práticas. n n Frequências n n Cada falta implica uma penalização de 0.025 valores na nota final (frequência e exames). Consideram-se dispensados do critério de assiduidade os trabalhadores/estudantes registados com tal estatuto nos Serviços Académicos da Universidade. Prova (F 1 ) - 2ª feira, 6 de novembro de 2017, 14:00-16:00, Sala 6.26 (8 valores) Prova (F 2 ) - 2ª feira, 8 de Janeiro de 2018, 14:00-16:00, Sala 6.26 (8 valores) Trabalho Prático n Mensagens Codificadas: Sequências Equidistantes de Símbolos (4 valores) Classificação Ensino/Aprendizagem (C) n A classificação relativa ao período de Ensino Aprendizagem é obtida através da seguinte fórmula: C=F 1 *8/20+F 2 *8/20 + T - A Admissão a Exame n Consideram-se admitidos a Exame os alunos que obtiverem classificação mínima de 6 valores na componente de Ensino-Aprendizagem. Horário de Atendimento n 4ª feiras, 16:00-18:00, Gabinete do docente

Pré-Requisitos I Pré-Requisitos: Tópicos que se assumem assimilados préviamente pelos alunos. Apesar de não incluídos no contéudo programático da disciplina, o sucesso nesta exige o conhecimento de cada um dos items apresentados à direita. Sintaxe da Linguagem C Estrutura de um Programa Palavras Reservadas Blocos Condicionais Blocos Iterativos Manuseamento de Ficheiros n Texto n Binários Análise de Complexidade Algoritmos de Pesquisa e Ordenação

Pré-Requisitos II Pré-Requisitos: Tópicos que se assumem assimilados préviamente pelos alunos. Apesar de não incluídos no contéudo programático da disciplina, o sucesso nesta exige o conhecimento de cada um dos items apresentados à direita. Edição, Compilação e Execução de Programas em C Escolha de Editor de Texto Bibliotecas n Bibliotecas mais Comuns n Inclusão de Bibliotecas n Linkagem de Bibliotecas Execução n Redirecção do Input / Output

Objectivos O objectivo principal desta disciplina é a compreensão dos conceitos fundamentais associados aos vários tipos de estruturas de dados dinãmicas e dos algoritmos passíveis de aplicação a cada estrutura. No final do semestre, os alunos deverão ser capazes de idealizar, esquematizar e implementar estruturas de dados e respectivos algoritmos com vista à resolução de problemas. A linguagem C será usada na componente prática da disciplina, apesar dos conceitos nela envolvidos serem independentes da linguagem.

Objectivos: Estruturas Dinâmicas? Em termos gerais, existem três formas de alocar recursos (memória) num computador: Estáticamente n Tempo de compilação. Vectores n Tempo de execução. n Memória adjacente. n Acesso directo. Estruturas ligadas. n Tempo de execução. n Memória descontínua. n Acesso Sequêncial.

Objectivos Parte I Estruturas Dinâmicas de Acesso Sequêncial L 1 2 3 4

Objectivos Parte II Estruturas Dinâmicas de Acesso Binário A 1 2 3 4 5 6 7

Objectivos Parte III Grafos G 1 4 2 6 7 3 5

Objectivos Final Estruturas Compostas L A B C D 1 2 3 4 1 2 A 2 1 3 4

Programa 1. Introdução 1. Alocação Dinâmica de Recursos 2. Apontadores 3. Estruturas de Dados 2. Estruturas Sequênciais 1. Listas 1. Simplesmente Ligadas 2. Duplamente Ligadas 2. Pilhas 3. Filas 4. Listas de Salto

Programa 1. Estruturas Não-Sequênciais 1. Tabelas de Dispersão 2. Árvores 1. Árvores Binárias 2. Árvores Binárias de Pesquisa 3. Árvores Equilibradas (AVL) 4. Árvores N-árias 3. Grafos 1. Tipos De Grafos 1. Dirigidos, Não-Dirigidos 2. Pesados, Não-Pesados 2. Pesquisa 1. Primeiro em Profundidade 2. Primeiro Em Largura 3. Algoritmos 1. Spanning Trees 2. Edmonds 3. Dijkstra

Bibliografia Recomendada Principal "Introduction to Algorithms (2nd edition)", Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein, The MIT Press, 2001. "Algorithms in C, Parts 1-5 (Bundle): Fundamentals, Data Structures, Sorting, Searching, and Graph Algorithms", R. Sedgewick, Addison-Wesley Professional, 3rd Edition, 2001. Secundária "Data Structures in ANSI C", S. Sengupta, Academic, 1991. "Mastering algorithms in C", Kyle Loudon, O'Reilly, 1999. "Programs and Data Structures in C", 2nd edition, L. Ammeraal, John Wiley & Sons, 1996. "Estruturas de Dados e Algoritmos", Bruno R. Preiss, Elsevier, 2001. "Data Structures and Algorithm Analysis in C++", 2nd ed., Mark Allen Weiss, Addison-Wesley, 1999. "Data Structures and Algorithms: Annotated Reference with Examples", G.Barnett and L. Del Tongo, EBook: http://dotnetslackers.com/projects/data- Structures-And-Algorithms/

Exercício Vector Geneológico Suponha que é guardada informação num vector (dinãmico) sobre um conjunto de sócios de uma colectividade e os respectivos proponentes. Cada sócio tem que ter obrigatoriamente um proponente, excepto o fundador (proponente=-1). typedef struct Socio{ int BI, idade, peso, prop; }; BI= 123456789 Idade = 27 Peso = 76 Prop= 8765432

Exercício: Vector Geneológico Implemente uma função em C que permita verificar se uma determinada pessoa foi proposta (directa ou indirectamente) por outra. Protótipo: int proposta(socio *v, int totv, int BIpessoa, int BIProp) //1=Sim, 0=Não Vector dinãmico + total de elementos V BI= 123456789 Idade = 27 Peso = 76 Prop= 8765432 BI= 8765432 Idade = 15 Peso = 46 Prop= 7654321 BI= 12233445 Idade = 29 Peso = 91 Prop= 8765432 BI= 9876541 Idade = 27 Peso = 76 Prop= 7654321 BI= 7654321 Idade = 24 Peso = 70 Prop= -1