Algoritmos e Estruturas de Dados I

Tamanho: px
Começar a partir da página:

Download "Algoritmos e Estruturas de Dados I"

Transcrição

1 Universidade do Estado do Amazonas Escola Superior de Tecnologia - EST Núcleo de Computação Algoritmos e Estruturas de Dados I Listas com implementação dinâmica Prof. Flávio José M. Coelho [email protected]

2 Objetivos Entender o que são Listas ligadas. 2. Listas simplesmente encadeadas (LSE). 3. Listas duplamente encadeadas (LDE). 4. Entender a implementação de uma LSE. Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 2 / 60

3 Listas ligadas Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 3 / 60

4 Listas ligadas Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 4 / 60

5 Listas ligadas Um nó tem dois campos: o item e um ponteiro para o próximo nó. Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 5 / 60

6 Listas ligadas Cada nó é alocado dinamicamente de uma região de memória denominada heap. Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 6 / 60

7 Listas ligadas Cada nó liga-se a um próximo nó formando uma lista ligada. Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 7 / 60

8 Listas ligadas O ponteiro do último nó é NIL pois não há próximo nó. Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 8 / 60

9 Listas ligadas Um ponteiro (prim) aponta para o primeiro nó da lista, e dá acesso ao início da lista. Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 9 / 60

10 Listas ligadas Outro ponteiro (ult) aponta para o último nó, e ajuda operações no final da lista. Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 10 / 60

11 Listas ligadas A lista é simplesmente encadeada (LSE), se cada nó se liga somente ao próximo nó. Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 11 / 60

12 Listas ligadas Em uma LSE somente é possível navegar pelos itens no sentido início-fim da lista. Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 12 / 60

13 Listas ligadas A lista é duplamente encadeada (LDE), se cada nó se liga ao próximo e ao nó anterior. Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 13 / 60

14 Listas ligadas Uma LDE permite navegação nos sentidos início-fim e fim-início. Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 14 / 60

15 TAD Lista ligada Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 15 / 60

16 TAD Lista Ligada Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 16 / 60

17 TAD Lista Ligada Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 17 / 60

18 TAD Lista Ligada Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 18 / 60

19 Operações Um nó-cabeça (item vazio) antes do início da lista facilita inserções e remoções. Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 19 / 60

20 CRIA(L) 1 L.prim = aloque novo NO 2 L.prim.prox = NIL 3 L.ult = L.prim Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 20 / 60

21 CRIA(L) Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 21 / 60

22 CRIA(L) (1) L.prim = aloque novo NO Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 22 / 60

23 CRIA(L) (2) L.prim.prox = NIL Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 23 / 60

24 CRIA(L) (3) L.ult = L.prim Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 24 / 60

25 INSERE(L, item) 1 L.ult.prox = aloque novo NO 2 L.ult = L.ult.prox 3 L.ult.prox = NIL 4 L.ult.item = item Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 25 / 60

26 INSERE(L, item) Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 26 / 60

27 INSERE(L, item) (1) L.ult.prox = aloque novo No. Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 27 / 60

28 INSERE(L, item) (2) L.ult = L.ult.prox Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 28 / 60

29 INSERE(L, item) (3) L.ult.prox = NIL Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 29 / 60

30 INSERE(L, item) (4) L.ult.item = item Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 30 / 60

31 INSERE(L, item) Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 31 / 60

32 REMOVE(L, r, item) 1 se L == 0 ou r == NIL ou r ==prim 2 impossível remoção 3 senão 4 item = r.item 5 p = PREDECESSOR(L, r) 6 p.prox = r.prox 7 se p.prox == NIL L.ult = p 8 desaloque r Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 32 / 60

33 REMOVE(L, r, item) Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 33 / 60

34 REMOVE(L, r, item) Parâmetro r aponta para o item a ser removido. Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 34 / 60

35 REMOVE(L, r, item) (4) item = r.item Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 35 / 60

36 REMOVE(L, r, item) (5) p = PREDECESSOR(L, r) Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 36 / 60

37 REMOVE(L, r, item) (6) p.prox = r.prox Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 37 / 60

38 REMOVE(L, r, item) (8) desaloque q Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 38 / 60

39 REMOVE(L, r, item) (8) desaloque q Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 39 / 60

40 REMOVE(L, r, item) Com o término da operação, p e r são destruídos. Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 40 / 60

41 REMOVE(L, r, item) Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 41 / 60

42 BUSCA(L, k) 1 p = L.prim.prox 2 enquanto p NIL e p.chave k 3 p = p.prox 4 retorne p Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 42 / 60

43 BUSCA(L, k) Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 43 / 60

44 BUSCA(L, k) (1) p = L.prim.prox Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 44 / 60

45 BUSCA(L, k) (2) enquanto p NIL e p.chave k (3) p = p.prox Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 45 / 60

46 BUSCA(L, k) (2) enquanto p NIL e p.chave k (3) p = p.prox Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 46 / 60

47 BUSCA(L, k) (4) Acha o item: retorne p = a 3 Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 47 / 60

48 BUSCA(L, k) (4) Não acha item: retorne p = NIL Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 48 / 60

49 MOSTRE(L) 1 p = L.prim.prox 2 enquanto p NIL 3 mostre p.item 4 p = p.prox Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 49 / 60

50 MOSTRE(L) Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 50 / 60

51 MOSTRE(L) (1) p = L.prim.prox Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 51 / 60

52 MOSTRE(L) (2) enquanto p NIL (3) mostre p.item (4) p = p.prox Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 52 / 60

53 MOSTRE(L) (2) enquanto p NIL (3) mostre p.item (4) p = p.prox Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 53 / 60

54 MOSTRE(L) (2) enquanto p NIL (3) mostre p.item (4) p = p.prox Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 54 / 60

55 MOSTRE(L) (2) enquanto p NIL (3) mostre p.item (4) p = p.prox Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 55 / 60

56 MOSTRE(L) Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 56 / 60

57 Conclusão #1 Lista ligada tem tamanho dinâmico, mas é mais complexa de se implementar do que lista estática. Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 57 / 60

58 Conclusão #2 Busca, mostra são O(n). Remoção é O(n), ou O(1) se a lista for LDE. Inserção é O(1). Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 58 / 60

59 Referências T. H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein, Introduction to Algorithms, 3rd edition, MIT Press, 2010 N. Ziviani. Projeto de Algoritmos com Implementação em Pascal C. Cengage Learning, Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 59 / 60

60 Onde obter este material: est.uea.edu.br/fcoelho Flávio José M. Coelho (EST/UEA) Algoritmos e Estruturas de Dados I Núcleo de Computação 60 / 60

Filas de Prioridades Letícia Rodrigues Bueno

Filas de Prioridades Letícia Rodrigues Bueno Filas de Prioridades Letícia Rodrigues Bueno UFABC Heaps Heaps: lista linear com chaves s 1,..., s n com propriedade s i s i/2, para 1 < i < n; Heaps Heaps: lista linear com chaves s 1,..., s n com propriedade

Leia mais

Estruturas de Dados para Conjuntos Disjuntos: Union-find Letícia Rodrigues Bueno

Estruturas de Dados para Conjuntos Disjuntos: Union-find Letícia Rodrigues Bueno Estruturas de Dados para Conjuntos Disjuntos: Union-find Letícia Rodrigues Bueno UFABC Estruturas de Dados para Conjuntos Disjuntos: Introdução Estruturas de Dados para Conjuntos Disjuntos: Introdução

Leia mais

Quicksort Letícia Rodrigues Bueno

Quicksort Letícia Rodrigues Bueno Quicksort Letícia Rodrigues Bueno UFABC Quicksort Legenda: pivô; 1 a partição: ; 2 a partição: Quicksort Legenda: pivô; 1 a partição: ; 2 a partição: Quicksort Legenda: pivô; 1 a partição: ; 2 a partição:

Leia mais

SCC0502 Algoritmos e Estruturas de Dados I

SCC0502 Algoritmos e Estruturas de Dados I SCC0502 Algoritmos e Estruturas de Dados I Profa. Maria Cristina Assistente: Jorge 2º. 2014 Sobre a disciplina Essencial! Fundamentos da área Core da Computação Sobre a disciplina Essencial! Fundamentos

Leia mais

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

SCC0502 Algoritmos e Estruturas de Dados I. Profa. Maria Cristina SCC0502 Algoritmos e Estruturas de Dados I Profa. Maria Cristina Sobre a disciplina Essencial! Fundamentos da área Core da Computação Sobre a disciplina Essencial! Fundamentos da área Core da Computação

Leia mais

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

Teoria da Computação. Aula 9 Pesquisa em Memória Secundária 5COP096. Aula 9 Prof. Dr. Sylvio Barbon Junior. Sylvio Barbon Jr 5COP096 Teoria da Computação Aula 9 Prof. Dr. Sylvio Barbon Junior Sylvio Barbon Jr [email protected] 1 Sumário 1) Introdução à Pesquisa em Memória Secundária 2) Modelo de Computação para Memória Secundária

Leia mais

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

SIN5013 Análise de Algoritmos e Estrutura de Dados - 1o Semestre de 2019 SIN5013 Análise de Algoritmos e Estrutura de Dados - 1o Semestre de 2019 Luciano Antonio Digiampietri Escola de Artes, Ciências e Humanidades Programa de Pós-graduação em Sistemas de Informação (PPgSI)

Leia mais

Análise de Algoritmos e Estruturas de Dados

Análise de Algoritmos e Estruturas de Dados Análise de Algoritmos e Estruturas de Dados Aula 1: Apresentação e introdução / Insertion Sort Professor: Guilherme Oliveira Mota [email protected] Apresentação do professor Professor: Guilherme Oliveira

Leia mais

BCC202 - Estrutura de Dados I

BCC202 - Estrutura de Dados I BCC202 - Estrutura de Dados I Aula 09: Listas (Parte 2) Reinaldo Fortes Universidade Federal de Ouro Preto, UFOP Departamento de Ciência da Computação, DECOM Website: www.decom.ufop.br/reifortes Email:

Leia mais

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

Estrutura de Dados. Plano de Ensino. Vilson Heck Junior. Campus Lages. Instituto Federal de Santa Catarina Estrutura de Dados Plano de Ensino Vilson Heck Junior Instituto Federal de Santa Catarina Campus Lages Sumário 1 Sumário 2 Plano de Ensino Competências, Habilidades e Atitudes Bases Tecnológicas Instrumentos

Leia mais

Complexidade Assintótica de Programas Letícia Rodrigues Bueno

Complexidade Assintótica de Programas Letícia Rodrigues Bueno Complexidade Assintótica de Programas Letícia Rodrigues Bueno Análise de Algoritmos 1. Introdução; Análise de Algoritmos 1. Introdução; 2. Conceitos básicos; Análise de Algoritmos 1. Introdução; 2. Conceitos

Leia mais

Teoria da Complexidade Computacional

Teoria da Complexidade Computacional Teoria da Complexidade Computacional Letícia Rodrigues Bueno UFABC Motivação Motivação I can t find an efficient algorithm, I guess I m just too dumb. Fonte: GAREY, M. R. e JOHNSON, D. S. Computers and

Leia mais

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

Estruturas de Dados Aula 1: Introdução e conceitos básicos 28/02/2011 Estruturas de Dados Aula 1: Introdução e conceitos básicos 28/02/2011 Web site http://www.inf.ufes.br/~pdcosta/ensino/ Profa. Patrícia Dockhorn Costa Email: [email protected] Introdução O que são estruturas

Leia mais

Métodos de Ordenação: Selection, Insertion, Bubble, Merge (Sort)

Métodos de Ordenação: Selection, Insertion, Bubble, Merge (Sort) Métodos de Ordenação: Selection, Insertion, Bubble, Merge (Sort) Hebert Coelho e Nádia Félix Ordenação É a operação de rearranjar os dados em uma determinada ordem. Problema da ordenação - Definição formal

Leia mais

1 a Lista de Exercícios

1 a Lista de Exercícios Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Biológicas Programa de Pós-Graduação em Ciência da Computação Projeto e Análise de Algoritmos - 1 o semestre de 2010 Professor: David Menotti

Leia mais

Filas. Prof. Túlio Toffolo BCC202 Aula 12 Algoritmos e Estruturas de Dados I

Filas. Prof. Túlio Toffolo  BCC202 Aula 12 Algoritmos e Estruturas de Dados I Filas Prof. Túlio Toffolo http://www.toffolo.com.br BCC202 Aula 12 Algoritmos e Estruturas de Dados I O que é uma fila? 1 4 2 3 Fila 1 2 3 4 TAD Fila Tipo Abstrato de dados com a seguinte característica:

Leia mais

ESTRUTURA DE DADOS DCC013

ESTRUTURA DE DADOS DCC013 ESTRUTURA DE DADOS DCC013 1 o sem./2018 Professor: Itamar Leite de Oliveira [email protected] Professor: Bernardo Martins Rocha [email protected] Total de Créditos: 4 Turma: A Pré-requisitos:

Leia mais

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

SCC-201 Introdução à Ciência de Computação II SCC-201 João Luís Garcia Rosa 1 Ricardo J. G. B. Campello 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos http://www.icmc.usp.br

Leia mais

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

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 B-tree B-Trees Material da Prof. Denise Bandeira, aula de Christian Hofsetz B-Trees são árvores balanceadas. Diferente das árvores binárias, os nós de uma B-tree podem ter um número variável de nodos filho.

Leia mais

Estruturas de Dados I

Estruturas de Dados I Estruturas de Dados I Rodrigo Porfírio da Silva Sacchi [email protected] 3410-2075 Aula 6: Listas Encadeadas e Alocação Dinâmica Listas Encadeadas e Alocação Dinâmica Alocação Seqüencial versus

Leia mais

Algoritmos em Grafos: Caminho Mínimo

Algoritmos em Grafos: Caminho Mínimo Algoritmos em Grafos: Caminho Mínimo Letícia Rodrigues Bueno UFABC Problema 2: Menor caminho entre duas cidades Dado um mapa de cidades, contendo as distâncias entre cidades, qual o menor caminho entre

Leia mais

BCC202 - Estrutura de Dados I

BCC202 - Estrutura de Dados I BCC202 - Estrutura de Dados I Aula 08: Listas (Parte 1) ASN Universidade Federal de Ouro Preto, UFOP Departamento de Computação, DECOM Material elaborado com base nos slides do Prof. Reinaldo Fortes (curso

Leia mais

If969 - Algoritmos e Estruturas de Dados

If969 - Algoritmos e Estruturas de Dados If969 - Algoritmos e Estruturas de Dados Centro de Informá-ca Universidade Federal de Pernambuco Sistemas de Informação Vinicius Cardoso Garcia [email protected] Missão Mo-var, apresentar, exercitar e consolidar

Leia mais

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

Estruturas de Dados. Pedro Ribeiro 2017/2018 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Estruturas de Dados 2017/ / 16 Estruturas de Dados Pedro Ribeiro DCC/FCUP 2017/2018 Pedro Ribeiro (DCC/FCUP) Estruturas de Dados 2017/2018 1 / 16 Informações Gerais Site: http://www.dcc.fc.up.pt/~pribeiro/aulas/edados1718/ Piazza: http://piazza.com/up.pt/spring2018/cc1007

Leia mais

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

SCC-501 Introdução à Ciência de Computação II SCC-501 João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos http://www.icmc.usp.br/~joaoluis 2011 João

Leia mais

Grafos Caminhos mais Curtos

Grafos Caminhos mais Curtos ALGORITMOS E ESTRUTURAS DE DADOS II Grafos Caminhos mais Curtos Profa. Elaine Parros Machado de Sousa adaptações: Cris.na Dutra de Aguiar Ciferri Material baseado em aulas dos professores: Gustavo Basta,

Leia mais

DISCIPLINA: Programação de Computadores I

DISCIPLINA: Programação de Computadores I DISCIPLINA: Programação de Computadores I CÓDIGO: 2ECOM.001 Validade: a partir do 1º Semestre de 2007 Carga Horária: Total: 30 horas-aula Semanal: 02 aulas Créditos: 02 Modalidade: Teórica Classificação

Leia mais

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

MC3305 Algoritmos e Estruturas de Dados II. Aula 00 Apresentação. Prof. Jesús P. Mena-Chalco. MC3305 Algoritmos e Estruturas de Dados II Aula 00 Apresentação Prof. Jesús P. Mena-Chalco [email protected] 2Q-2015 1 Apresentação Professor: Jesús P. Mena-Chalco (CMCC) Formação: - Engenheiro da

Leia mais

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

ESTRUTURAS DE DADOS (LEI, LM, LEE) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2017/2018 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.

Leia mais

Ministério da Educação UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Campus Curitiba PLANO DE ENSINO

Ministério da Educação UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Campus Curitiba PLANO DE ENSINO Ministério da Educação UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Campus Curitiba PLANO DE ENSINO CURSO Engenharia Mecânica? MATRIZ FUNDAMENTAÇÃO LEGAL (Resolução do COEPP que aprovou a matriz curricular

Leia mais

Algoritmos para Automação e Sistemas

Algoritmos para Automação e Sistemas Universidade Federal do Amazonas Departamento de Eletrônica e Computação Algoritmos para Automação e Sistemas Lucas Cordeiro [email protected] Notas de Aula Estes slides estão baseados livro do

Leia mais

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

CAL ( ) MIEIC/FEUP Grafos: Introdução (Março, 2011) 1 Algoritmos em Grafos: Introdução R. Rossetti, A.P. Rocha, A. Pereira, P.B. Silva, T. Fernandes CAL, MIEIC, FEUP Março de 2011 Índice 2 Revisão de conceitos e definições Exemplificar aplicações Representação

Leia mais

Caminho Mínimo de Fonte Única em Grafos sem Pesos Negativos

Caminho Mínimo de Fonte Única em Grafos sem Pesos Negativos Caminho Mínimo de Fonte Única em Grafos sem Pesos Negativos Letícia Rodrigues Bueno UFABC Problema : Menor caminho entre duas cidades Dado um mapa de cidades, contendo as distâncias entre cidades, qual

Leia mais

Algoritmos e Estruturas de Dados II

Algoritmos e Estruturas de Dados II Algoritmos e Estruturas de Dados II Organização Revisão (DFS) Exemplo de Execução (DFS) Grafos V: e Ricardo J. G. B. Campello Parte deste material é baseado em adaptações e extensões de slides disponíveis

Leia mais

LISTAS ENCADEADAS OU NÃO- SEQÜENCIAIS. Estrutura de Dados

LISTAS ENCADEADAS OU NÃO- SEQÜENCIAIS. Estrutura de Dados LISTAS ENCADEADAS OU NÃO- SEQÜENCIAIS Listas Lineares Como visto anteriormente, as operações básicas para o nosso TAD Lista Linear são: FLVazia Vazia Retira Insere Imprime A implementação através de arrays

Leia mais

PCC104 - Projeto e Análise de Algoritmos

PCC104 - Projeto e Análise de Algoritmos PCC104 - Projeto e Análise de Algoritmos Marco Antonio M. Carvalho Departamento de Computação Instituto de Ciências Exatas e Biológicas Universidade Federal de Ouro Preto 14 de agosto de 2018 Marco Antonio

Leia mais

Descrição da Disciplina

Descrição da Disciplina UFMG/ICEx/DCC Algoritmos e Estruturas de Dados II Descrição da Disciplina Bacharelado em Ciência da Computação 1 o Semestre de 2007 1 A disciplina Carga Horária: 60 horas Créditos: 4 Professor: Antonio

Leia mais

Estrutura de Dados Listas

Estrutura de Dados Listas Universidade Federal da Paraíba Centro de Informática Departamento de Informática Estrutura de Dados Listas 1 Tiago Maritan [email protected] Conteúdos Abordados O Conceito de Listas Listas com Representação

Leia mais

O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste

O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste material e a resolução (por parte do aluno) de todos os

Leia mais

Árvores. SCC-202 Algoritmos e Estruturas de Dados I. Lucas Antiqueira

Árvores. SCC-202 Algoritmos e Estruturas de Dados I. Lucas Antiqueira Árvores SCC-202 Algoritmos e Estruturas de Dados I Lucas Antiqueira Listas e árvores Listas lineares Um nó após o outro, adjacentes Nó sucessor e antecessor Diversas aplicações necessitam de estruturas

Leia mais

AED Algoritmos e Estruturas de Dados LEE /2004

AED Algoritmos e Estruturas de Dados LEE /2004 AED Algoritmos e Estruturas de Dados LEE - 2003/2004 http://web.tagus.ist.utl.pt/~ana.freitas/aed Algoritmos e Estruturas de Dados Disciplina de base da área científica de Metodologia e Tecnologia da Programação

Leia mais

Teoria dos Grafos. Professor: Guilherme Oliveira Mota.

Teoria dos Grafos. Professor: Guilherme Oliveira Mota. Teoria dos Grafos Aula 1: Apresentação e introdução Professor: Guilherme Oliveira Mota [email protected] Apresentação do professor Professor: Guilherme Oliveira Mota Sala 530-2 - 5 o andar - Torre 2

Leia mais

Teoria da Computação. Aula 3 Comportamento Assintótico 5COP096. Aula 3 Prof. Dr. Sylvio Barbon Junior. Sylvio Barbon Jr

Teoria da Computação. Aula 3 Comportamento Assintótico 5COP096. Aula 3 Prof. Dr. Sylvio Barbon Junior. Sylvio Barbon Jr 5COP096 Teoria da Computação Aula 3 Prof. Dr. Sylvio Barbon Junior 1 Sumário 1) Exercícios Medida de Tempo de Execução. 2) Comportamento Assintótico de Funções. 3) Exercícios sobre Comportamento Assintótico

Leia mais

Projeto e Análise de Algoritmos. Introdução. Prof. Ademir Constantino Universidade Estadual de Maringá Departamento de Informática

Projeto e Análise de Algoritmos. Introdução. Prof. Ademir Constantino Universidade Estadual de Maringá Departamento de Informática Projeto e Análise de Algoritmos Introdução Prof. Ademir Constantino Universidade Estadual de Maringá Departamento de Informática Projeto e Análise de Algoritmos Eu penso que o projeto de algoritmos eficientes

Leia mais

Informações Importantes! INF TURMA A

Informações Importantes! INF TURMA A UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA DEPARTAMENTO DE INFORMÁTICA APLICADA DISCIPLINA: ESTRUTURAS DE DADOS CÓDIGO: INF01203 CURSOS/PRE-REQUISITO: o Engenharia da Computação

Leia mais

ÁRVORES E ÁRVORE BINÁRIA DE BUSCA

ÁRVORES E ÁRVORE BINÁRIA DE BUSCA ÁRVORES E ÁRVORE BINÁRIA DE BUSCA Prof. André Backes Definição 2 Diversas aplicações necessitam que se represente um conjunto de objetos e as suas relações hierárquicas Uma árvore é uma abstração matemática

Leia mais

Estrutura de Dados. Ricardo José Cabeça de Souza Parte 9

Estrutura de Dados. Ricardo José Cabeça de Souza  Parte 9 Estrutura de Dados Ricardo José Cabeça de Souza www.ricardojcsouza.com.br Parte 9 VETOR Ao declararmos um vetor, reservamos um espaço contíguo de memória para armazenar seus elementos Vetor não é uma estrutura

Leia mais

Algoritmos e Estruturas de Dados: Lista Duplamente Encadeada

Algoritmos e Estruturas de Dados: Lista Duplamente Encadeada Lista Duplamente Encadeada Interface 1/13 dlist_init void dlist_init(dlist *list, void (*destroy)(void *data)); Algoritmos e Estruturas de Dados: Lista Duplamente Encadeada Rômulo Silva de Oliveira Departamento

Leia mais

5COP096 TeoriadaComputação

5COP096 TeoriadaComputação Sylvio 1 Barbon Jr [email protected] 5COP096 TeoriadaComputação Aula 13 Prof. Dr. Sylvio Barbon Junior Sumário - Problemas NP-Completo Algoritmos Não-deterministas; Classes NP-Completo e NP-Dificil; Teorema

Leia mais

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

UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática. 3 a ETAPA 3 a ETAPA exclusivo de curso (X) Eixo Comum ( ) Eixo Universal () ORGANIZAÇÃO DE COMPUTADORES ( 02 ) Laboratório TECNOLOGIA E INFRA Estudo da organização funcional de computadores, com destaque para a

Leia mais

Lista de Exercícios sobre Listas Implementadas por Encadeamento

Lista de Exercícios sobre Listas Implementadas por Encadeamento Lista de Exercícios sobre Listas Implementadas por Encadeamento 1) Se você tem de escolher entre uma representação por lista encadeada ou uma representação usando posições contíguas de memória para um

Leia mais

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

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA DEPARTAMENTO DE INFORMÁTICA APLICADA UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA DEPARTAMENTO DE INFORMÁTICA APLICADA DISCIPLINA: ESTRUTURAS DE DADOS CÓDIGO: INF01203 CURSOS/PRE-REQUISITO: o Engenharia da Computação

Leia mais

Listas - Outras. Listas Circulares Nós Cabeça Listas Duplamente Ligadas/Encadeadas Aplicações

Listas - Outras. Listas Circulares Nós Cabeça Listas Duplamente Ligadas/Encadeadas Aplicações Listas - Outras Listas Circulares Nós Cabeça Listas Duplamente Ligadas/Encadeadas Aplicações 5 e 7/10/2010 Listas Circulares Encadeadas Dinâmicas Se o nó next do último nó apontar para o primeiro, teremos

Leia mais

Fila e Deque. SCC Algoritmos e Estruturas de Dados I. Prof. Fernando V. Paulovich. *Baseado no material do Prof.

Fila e Deque. SCC Algoritmos e Estruturas de Dados I. Prof. Fernando V. Paulovich. *Baseado no material do Prof. Fila e Deque SCC0202 - Algoritmos e Estruturas de Dados I Prof. Fernando V. Paulovich *Baseado no material do Prof. Gustavo Batista http://www.icmc.usp.br/~paulovic [email protected] Instituto de Ciências

Leia mais

Árvores. SCC-214 Projeto de Algoritmos. Thiago A. S. Pardo. Um nó após o outro, adjacentes Sem relações hierárquicas entre os nós, em geral

Árvores. SCC-214 Projeto de Algoritmos. Thiago A. S. Pardo. Um nó após o outro, adjacentes Sem relações hierárquicas entre os nós, em geral SCC-214 Projeto de Algoritmos Thiago A. S. Pardo Listas e árvores Listas lineares Um nó após o outro, adjacentes Sem relações hierárquicas entre os nós, em geral Diversas aplicações necessitam de estruturas

Leia mais

Lista de Exercícios 04

Lista de Exercícios 04 Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM Disciplina: BCC202 - Estruturas de Dados I Professor: Túlio Toffolo (www.decom.ufop.br/toffolo)

Leia mais

Complexidade de Algoritmos

Complexidade de Algoritmos Complexidade de Algoritmos Complexidade de Algoritmos Envolvendo Estruturas de Dados Elementares Prof. Osvaldo Luiz de Oliveira Estas anotações devem ser complementadas por apontamentos em aula. Vetor

Leia mais

Estruturas de Dados Aula 11: TAD Pilha

Estruturas de Dados Aula 11: TAD Pilha Estruturas de Dados Aula 11: TAD Pilha Fontes Bibliográficas Livros: Projeto de Algoritmos (Nivio Ziviani): Capítulo 3; Introdução a Estruturas de Dados (Celes, Cerqueira e Rangel): Capítulo 10; Estruturas

Leia mais

Heaps. Estrutura de Dados. Universidade Federal de Juiz de Fora Departamento de Ciência da Computação 1 / 35

Heaps. Estrutura de Dados. Universidade Federal de Juiz de Fora Departamento de Ciência da Computação 1 / 35 Heaps Estrutura de Dados Universidade Federal de Juiz de Fora Departamento de Ciência da Computação 1 / 35 Conteúdo Introdução Definição de Heap Heap Binária Implementação com vetor Fila de Prioridades

Leia mais

Classificação e Pesquisa

Classificação e Pesquisa Classificação e Pesquisa Análise de Algoritmos - Complexidade Prof. Rodrigo Rocha [email protected] http://www.bolinhabolinha.com Onde Estamos Ementa Pesquisa de Dados Seqüencial Binária Métodos

Leia mais

Aula 10 Alocação Dinâmica de Memória Listas Encadeadas. prof Leticia Winkler

Aula 10 Alocação Dinâmica de Memória Listas Encadeadas. prof Leticia Winkler Aula 10 Alocação Dinâmica de Memória Listas Encadeadas prof Leticia Winkler 1 Prof. Leticia Winkler 2 Alocação de Memória Reservar na memória (principal), o espaço para guardar a informação através da

Leia mais

Estrutura de dados. Link do Google Drive: http://goo.gl/53c7gu. ED Apresentação Luiz Gonçalves Última revisão 8/12/14

Estrutura de dados. Link do Google Drive: http://goo.gl/53c7gu. ED Apresentação Luiz Gonçalves Última revisão 8/12/14 Estrutura de dados Link do Google Drive: http://goo.gl/53c7gu 1/10 Objetivos do curso Selecionar e/ou implementar estruturas de dados para a resolução de problemas e construir programas de computadores

Leia mais

Estrutura de dados - Listas Encadeadas

Estrutura de dados - Listas Encadeadas Estrutura de dados - Listas Encadeadas Prof. Leonardo Cabral da Rocha Soares [email protected] Centro Universitário Newton Paiva 25 de abril de 2019 Estrutura de dados - Listas Encadeadas

Leia mais

Algoritmos e Estruturas de Dados II LEIC

Algoritmos e Estruturas de Dados II LEIC Algoritmos e Estruturas de Dados II Licenciatura em Engenharia Informática e Computação www.fe.up.pt/ rcamacho/cadeiras/aed2 LIACC/FEUP Universidade do Porto [email protected] Fevereiro 2005 Conteúdo da

Leia mais

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

PROGRAMAÇÃO E ALGORITMOS (LEI, TSI) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2016/2017 PROGRAMAÇÃO E ALGORITMOS (LEI, TSI) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2016/2017 Página da Disciplina http://www.di.ubi.pt/~hugomcp/progalg Avaliação. n Consulta

Leia mais

Algoritmos e estrutura de dados

Algoritmos e estrutura de dados Algoritmos e estrutura de dados Listas Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. Conteúdo Listas Listas encadeadas

Leia mais

Matrizes Esparsas. Prof. Fernando V. Paulovich *Baseado no material do Prof. Gustavo Batista

Matrizes Esparsas. Prof. Fernando V. Paulovich *Baseado no material do Prof. Gustavo Batista Matrizes Esparsas SCC0202 - Algoritmos e Estruturas de Dados I Prof. Fernando V. Paulovich *Baseado no material do Prof. Gustavo Batista http://www.icmc.usp.br/~paulovic [email protected] Instituto

Leia mais