BCC202 - Estrutura de Dados I

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

Download "BCC202 - Estrutura de Dados I"

Transcrição

1 BCC202 - Estrutura de Dados I Aula 12: Ordenação: Bubble, Selection e Insertion Sort Reinaldo Fortes Universidade Federal de Ouro Preto, UFOP Departamento de Computação, DECOM Website: reifortes@iceb.ufop.br Material elaborado com base nos slides do Prof. Túlio Toffolo (curso de 2013/01). 2013/02

2 Conteúdo 1 Introdução Conceitos Básicos de Ordenação 2 BubbleSort 3 SelectionSort 4 InsertionSort 5 Conclusão 6 Exercícios BCC202 - Estrutura de Dados I Aula 12: Ordenação: Bubble, Selection e Insertion Sort (2)

3 Conteúdo 1 Introdução Conceitos Básicos de Ordenação 2 BubbleSort 3 SelectionSort 4 InsertionSort 5 Conclusão 6 Exercícios BCC202 - Estrutura de Dados I Aula 12: Ordenação: Bubble, Selection e Insertion Sort (3)

4 Conceitos Básicos de Ordenação O que é um método de ordenação? Ordenar: processo de rearranjar um conjunto de objetos em uma ordem ascendente ou descendente. A ordenação visa facilitar a recuperação posterior de itens do conjunto ordenado. Dificuldade de se utilizar um catálogo telefônico se os nomes das pessoas não estivessem listados em ordem alfabética. Em ciência da computação um método de ordenação coloca os elementos de uma dada sequência em uma certa ordem, ou seja, efetua sua ordenação completa ou parcial. As ordens mais usadas são a numérica e a lexicográfica. BCC202 - Estrutura de Dados I Aula 12: Ordenação: Bubble, Selection e Insertion Sort (4)

5 Conceitos Básicos de Ordenação Notação Os métodos trabalham sobre os registros de um arquivo. Cada registro possui uma chave utilizada para controlar a ordenação. Podem existir outros componentes em um registro. Estrutura de um registro: 1 typedef int TChave ; 2 3 typedef struct { 4 TChave Chave ; 5 /* outros componentes */ 6 } TItem ; BCC202 - Estrutura de Dados I Aula 12: Ordenação: Bubble, Selection e Insertion Sort (5)

6 Conceitos Básicos de Ordenação Características Qualquer tipo de chave sobre o qual exista uma regra de ordenação bem-definida pode ser utilizado. Um método de ordenação é estável se a ordem relativa dos itens com chaves iguais não se altera durante a ordenação. Alguns dos métodos mais eficientes não são estáveis. A estabilidade pode ser forçada quando o método é não-estável. BCC202 - Estrutura de Dados I Aula 12: Ordenação: Bubble, Selection e Insertion Sort (6)

7 Conceitos Básicos de Ordenação Características Os métodos de ordenação podem ser classificados como: Ordenação Interna: o arquivo a ser ordenado cabe todo na memória principal. Qualquer registro pode ser imediatamente acessado. Ordenação Externa: o arquivo a ser ordenado não cabe todo na memória principal. Registros são acessados seqüencialmente ou em blocos. BCC202 - Estrutura de Dados I Aula 12: Ordenação: Bubble, Selection e Insertion Sort (7)

8 Conceitos Básicos de Ordenação Características A maioria dos métodos de ordenação é baseada em comparações das chaves. Existem métodos de ordenação que utilizam o princípio da distribuição. Exemplo: ordenar um baralho com 52 cartas, pelo valor da carta e pelo nipe. Primeiro separe as cartas em treze montes (valores das cartas). Em seguida, colete os montes na ordem desejada. Distribua cada monte em quatro montes (naipes das cartas). Colete os montes na ordem desejada. Qual é o custo deste algoritmo? BCC202 - Estrutura de Dados I Aula 12: Ordenação: Bubble, Selection e Insertion Sort (8)

9 Conceitos Básicos de Ordenação Critérios de análise Sendo n o número registros no arquivo, as medidas de complexidade relevantes são: Número de comparações C(n) entre chaves. Número de movimentações M(n) de registros do arquivo. O uso econômico da memória disponível é um requisito primordial na ordenação interna. Métodos de ordenação in situ são os preferidos. Métodos que utilizam listas encadeadas não são muito utilizados. Métodos que fazem cópias dos itens a serem ordenados possuem menor importância. BCC202 - Estrutura de Dados I Aula 12: Ordenação: Bubble, Selection e Insertion Sort (9)

10 Conceitos Básicos de Ordenação Ordenação Interna por Comparação Métodos simples: Adequados para pequenos arquivos. Requerem O(n 2 ) comparações. Produzem programas pequenos. Métodos eficientes: Adequados para arquivos maiores. Requerem O(n l og n) comparações. Usam menos comparações. As comparações são mais complexas nos detalhes. BCC202 - Estrutura de Dados I Aula 12: Ordenação: Bubble, Selection e Insertion Sort (10)

11 Conceitos Básicos de Ordenação O melhor algoritmo Atenção Não existe um método de ordenação considerado universalmente superior a todos os outros. É necessário analisar o problema e, com base nas características dos dados, decidir qual método melhor se aplica à ele. BCC202 - Estrutura de Dados I Aula 12: Ordenação: Bubble, Selection e Insertion Sort (11)

12 Conceitos Básicos de Ordenação O que estudaremos? Neste curso estudaremos apenas algoritmos de ordenação interna e que utilizam o princípio da comparação. Nesta aula: BubbleSort. SelectionSort. InsertionSort. BCC202 - Estrutura de Dados I Aula 12: Ordenação: Bubble, Selection e Insertion Sort (12)

13 Conteúdo 1 Introdução Conceitos Básicos de Ordenação 2 BubbleSort 3 SelectionSort 4 InsertionSort 5 Conclusão 6 Exercícios BCC202 - Estrutura de Dados I Aula 12: Ordenação: Bubble, Selection e Insertion Sort (13)

14 Método da Bolha Funcionamento Os elementos vão borbulhando a cada iteração do método até a posição correta para ordenação da lista. Como os elementos são trocados (borbulhados) frequentemente, há um alto custo com troca de elementos. Animação BCC202 - Estrutura de Dados I Aula 12: Ordenação: Bubble, Selection e Insertion Sort (14)

15 Método da Bolha Algoritmo 1 void Bolha ( TItem * v, int n) { 2 int i, j; 3 TItem aux ; 4 for (i = 0; i < n -1; i ++) { 5 for (j = 1; j < n-i; j ++) { 6 if (v[j]. Chave < v[j -1]. Chave ) { 7 aux = v[j]; 8 v[ j] = v[j -1]; 9 v[j -1] = aux ; 10 } 11 } 12 } 13 } Animação Vídeo BCC202 - Estrutura de Dados I Aula 12: Ordenação: Bubble, Selection e Insertion Sort (15)

16 Método da Bolha Análise de Complexidade Comparações (C(n)): n 2 C(n) = (n i 1) = i=0 = n(n 1) = n2 n 2 Movimentações (M(n)): n 2 i=0 n 2 n i=0 (0 + n 2)(n 1) 2 = O(n 2 ) M(n) = 3C(n) = O(n 2 ) n 2 i i=0 1 (n 1) BCC202 - Estrutura de Dados I Aula 12: Ordenação: Bubble, Selection e Insertion Sort (16)

17 Método da Bolha Características Vantagens Algoritmo simples. Algoritmo estável. Desvantagens O fato de o arquivo já estar ordenado não ajuda a reduzir o número de comparações (o custo continua quadrático), porém o número de movimentações cai para zero. BCC202 - Estrutura de Dados I Aula 12: Ordenação: Bubble, Selection e Insertion Sort (17)

18 Método da Bolha Melhoria no Algoritmo Original: 1 void Bolha ( TItem * v, int n) { 2 int i, j; 3 TItem aux ; 4 for (i = 0; i < n -1; i ++) { 5 for (j = 1; j < n-i; j ++) { 6 if (v[j]. Chave < v[j -1]. Chave ) { 7 aux = v[j]; 8 v[j] = v[j -1]; 9 v[j -1] = aux ; 10 } 11 } 12 } 13 } Melhorado: 1 void Bolha ( TItem * v, int n) { 2 int i, j, troca ; 3 TItem aux ; 4 for (i = 0; i < n -1; i ++) { 5 troca = 0; 6 for (j = 1; j < n-i; j ++) { 7 if (v[j]. Chave < v[j -1]. Chave ) { 8 aux = v[j]; 9 v[j] = v[j -1]; 10 v[j -1] = aux ; 11 troca ++; 12 } 13 } 14 if ( troca == 0) break ; 15 } 16 } BCC202 - Estrutura de Dados I Aula 12: Ordenação: Bubble, Selection e Insertion Sort (18)

19 Método da Bolha Melhoria no Algoritmo Original: 1 void Bolha ( TItem * v, int n) { 2 int i, j; 3 TItem aux ; 4 for (i = 0; i < n -1; i ++) { 5 for (j = 1; j < n-i; j ++) { 6 if (v[j]. Chave < v[j -1]. Chave ) { 7 aux = v[j]; 8 v[j] = v[j -1]; 9 v[j -1] = aux ; 10 } 11 } 12 } 13 } Melhorado: 1 void Bolha ( TItem * v, int n) { 2 int i, j, troca ; 3 TItem aux ; 4 for (i = 0; i < n -1; i ++) { 5 troca = 0; 6 for (j = 1; j < n-i; j ++) { 7 if (v[j]. Chave < v[j -1]. Chave ) { 8 aux = v[j]; 9 v[j] = v[j -1]; 10 v[j -1] = aux ; 11 troca ++; 12 } 13 } 14 if ( troca == 0) break ; 15 } 16 } Melhoria Interrompe o processo quando não ocorrem mais trocas. BCC202 - Estrutura de Dados I Aula 12: Ordenação: Bubble, Selection e Insertion Sort (18)

20 Conteúdo 1 Introdução Conceitos Básicos de Ordenação 2 BubbleSort 3 SelectionSort 4 InsertionSort 5 Conclusão 6 Exercícios BCC202 - Estrutura de Dados I Aula 12: Ordenação: Bubble, Selection e Insertion Sort (19)

21 Método de Seleção Funcionamento Seleciona do n-ésimo menor (ou maior) elemento da lista. Troca do n-ésimo menor (ou maior) elemento com a n-ésima posição da lista. É realizada apenas uma única troca a cada iteração. Animação Vídeo BCC202 - Estrutura de Dados I Aula 12: Ordenação: Bubble, Selection e Insertion Sort (20)

22 Método de Seleção Algoritmo 1 void Selecao ( TItem * v, int n) { 2 int i, j, Min ; 3 TItem aux ; 4 for (i = 0; i < n - 1; i ++) { 5 Min = i; 6 for ( j = i + 1 ; j < n; j ++) 7 if (v[j]. Chave < v[ Min ]. Chave ) 8 Min = j; 9 aux = v[ Min ]; 10 v[ Min ] = v[i]; 11 v[ i] = aux ; 12 } 13 } Animação BCC202 - Estrutura de Dados I Aula 12: Ordenação: Bubble, Selection e Insertion Sort (21)

23 Método de Seleção Análise de Complexidade Comparações (C(n)): n 2 C(n) = (n i 1) = i=0 = n(n 1) = n2 n 2 Movimentações (M(n)): n 2 i=0 n 2 n i=0 (0 + n 2)(n 1) 2 = O(n 2 ) M(n) = 3(n 1) = O(n) n 2 i i=0 1 (n 1) BCC202 - Estrutura de Dados I Aula 12: Ordenação: Bubble, Selection e Insertion Sort (22)

24 Método de Seleção Características Vantagens Custo linear no tamanho da entrada para o número de movimentos de registros. É o algoritmo a ser utilizado para arquivos com registros muito grandes (alto custo de movimentação). É muito interessante para arquivos pequenos. Desvantagens O fato de o arquivo já estar ordenado não ajuda em nada, pois o custo continua quadrático. O algoritmo não é estável. BCC202 - Estrutura de Dados I Aula 12: Ordenação: Bubble, Selection e Insertion Sort (23)

25 Método de Seleção Melhoria no Algoritmo Original: 1 void Selecao ( TItem * v, int n) { 2 int i, j, Min ; 3 TItem aux ; 4 for (i = 0; i < n - 1; i ++) { 5 Min = i; 6 for (j = i + 1 ; j < n; j ++) 7 if (v[j]. Chave < v[min ]. Chave ) 8 Min = j; 9 aux = v[ Min ]; 10 v[ Min ] = v[i]; 11 v[i] = aux ; 12 } 13 } Melhorado: 1 void Selecao ( TItem * v, int n) { 2 int i, j, Min ; 3 TItem aux ; 4 for (i = 0; i < n - 1; i ++) { 5 Min = i; 6 for (j = i + 1 ; j < n; j ++) 7 if (v[j]. Chave < v[min ]. Chave ) 8 Min = j; 9 if (i!= Min ) { 10 aux = v[ Min ]; 11 v[ Min ] = v[i]; 12 v[i] = aux ; 13 } 14 } 15 } BCC202 - Estrutura de Dados I Aula 12: Ordenação: Bubble, Selection e Insertion Sort (24)

26 Método de Seleção Melhoria no Algoritmo Original: 1 void Selecao ( TItem * v, int n) { 2 int i, j, Min ; 3 TItem aux ; 4 for (i = 0; i < n - 1; i ++) { 5 Min = i; 6 for (j = i + 1 ; j < n; j ++) 7 if (v[j]. Chave < v[min ]. Chave ) 8 Min = j; 9 aux = v[ Min ]; 10 v[ Min ] = v[i]; 11 v[i] = aux ; 12 } 13 } Melhorado: 1 void Selecao ( TItem * v, int n) { 2 int i, j, Min ; 3 TItem aux ; 4 for (i = 0; i < n - 1; i ++) { 5 Min = i; 6 for (j = i + 1 ; j < n; j ++) 7 if (v[j]. Chave < v[min ]. Chave ) 8 Min = j; 9 if (i!= Min ) { 10 aux = v[ Min ]; 11 v[ Min ] = v[i]; 12 v[i] = aux ; 13 } 14 } 15 } Melhoria Realiza troca apenas quando é realmente necessário. BCC202 - Estrutura de Dados I Aula 12: Ordenação: Bubble, Selection e Insertion Sort (24)

27 Conteúdo 1 Introdução Conceitos Básicos de Ordenação 2 BubbleSort 3 SelectionSort 4 InsertionSort 5 Conclusão 6 Exercícios BCC202 - Estrutura de Dados I Aula 12: Ordenação: Bubble, Selection e Insertion Sort (25)

28 Método de Inserção Funcionamento Algoritmo utilizado pelo jogador de cartas: As cartas são ordenadas da esquerda para direita uma por uma. O jogador escolhe a segunda carta e verifica se ela deve ficar antes ou na posição que está. Depois a terceira carta é classificada, deslocando-a até sua posição correta. O procedimento é repetido até ordenar todas as cartas. Alto custo em remover uma carta de uma posição e colocá-la em outra quando a representação é feita por arrays. Animação Vídeo BCC202 - Estrutura de Dados I Aula 12: Ordenação: Bubble, Selection e Insertion Sort (26)

29 Método de Inserção Algoritmo SEM Sentinela: 1 void Insercao ( TItem * v, int n) { 2 int i,j; 3 TItem aux ; 4 for (i = 1; i < n; i ++) { 5 aux = v[i]; 6 j = i - 1; 7 while (j >= 0 && aux. Chave < v[j]. Chave ) { 8 v[j + 1] = v[j]; 9 j - -; 10 } 11 v[j + 1] = aux ; 12 } 13 } COM Sentinela: 1 void Insercao ( TItem * v, int n) { 2 int i,j; 3 for (i = n -2; i >= 0; i - -) { 4 v[n] = v[i]; 5 j = i + 1; 6 while (v[n]. Chave > v[j]. Chave ) { 7 v[j - 1] = v[j]; 8 j ++; 9 } 10 v[j - 1] = v[n] 11 } 12 } Animação BCC202 - Estrutura de Dados I Aula 12: Ordenação: Bubble, Selection e Insertion Sort (27)

30 Método de Inserção Análise de Complexidade Comparações (C(n)): No laço mais interno, na i-ésima iteração: Melhor caso: C i (n) = 1. Pior caso: C i (n) = i. Caso médio: C i (n) = 1 i ( i) = i+1 2. Assumindo que todas as permutações de n são igualmente prováveis no caso médio, temos: Melhor caso: C(n) = ( ) = n 1. Pior caso: C(n) = ( (n 1)) = n2 2 n 2. Caso médio: C(n) = (1/2) ( n) = n2 4 + n BCC202 - Estrutura de Dados I Aula 12: Ordenação: Bubble, Selection e Insertion Sort (28)

31 Método de Inserção Análise de Complexidade Movimentações (M(n)): No laço mais interno, na i-ésima iteração: Melhor caso: M i (n) = 0. Pior caso: M i (n) = i. Caso médio: M i (n) = 1 i ( i 1) = i 1 2. Assumindo que todas as permutações de n são igualmente prováveis no caso médio, temos: Melhor caso: M(n) = ( ) = 2n 2. Pior caso: M(n) = ((2 + 1) (2 + n 1)) = n2 +3n 4 2. Caso médio: M(n) = (1/2) ( n) = n2 +n 2 2. BCC202 - Estrutura de Dados I Aula 12: Ordenação: Bubble, Selection e Insertion Sort (29)

32 Método de Inserção Características O número mínimo de comparações e movimentos ocorre quando os itens estão originalmente em ordem. O número máximo ocorre quando os itens estão originalmente na ordem reversa. É o método a ser utilizado quando o arquivo está quase ordenado. É um bom método quando se deseja adicionar uns poucos itens a um arquivo ordenado, pois o custo é linear. O algoritmo de ordenação por inserção é estável. BCC202 - Estrutura de Dados I Aula 12: Ordenação: Bubble, Selection e Insertion Sort (30)

33 Conteúdo 1 Introdução Conceitos Básicos de Ordenação 2 BubbleSort 3 SelectionSort 4 InsertionSort 5 Conclusão 6 Exercícios BCC202 - Estrutura de Dados I Aula 12: Ordenação: Bubble, Selection e Insertion Sort (31)

34 Conclusão Conclusão Nesta aula tivemos o primeiro contato com algoritmos de ordenação. Foram vistos os algoritmos BubbleSort, SelectionSort e InsertionSort. Cada algoritmo possui suas características particularidades: Não existe um método de ordenação considerado universalmente superior a todos os outros. É necessário analisar o problema e, com base nas características dos dados, decidir qual método melhor se aplica à ele. BCC202 - Estrutura de Dados I Aula 12: Ordenação: Bubble, Selection e Insertion Sort (32)

35 Conclusão Conclusão Quadro comparativo dos métodos de ordenação: Algoritmo Comparações Movimentações Melhor Médio Pior Melhor Médio Pior Espaço Estável In situ Bubble O(n 2 ) O(n 2 ) O(1) Sim Sim Selection O(n 2 ) O(n) O(1) Não Sim Insertion O(n) O(n 2 ) O(n) O(n 2 ) O(1) Sim Sim Existem versões estáveis. BCC202 - Estrutura de Dados I Aula 12: Ordenação: Bubble, Selection e Insertion Sort (33)

36 Conclusão Conclusão A tarefa de ordenação é muito importante, ela é uma necessidade básica para a solução de muitos problemas. Próxima aula: MergeSort. Dúvidas? BCC202 - Estrutura de Dados I Aula 12: Ordenação: Bubble, Selection e Insertion Sort (34)

37 Conteúdo 1 Introdução Conceitos Básicos de Ordenação 2 BubbleSort 3 SelectionSort 4 InsertionSort 5 Conclusão 6 Exercícios BCC202 - Estrutura de Dados I Aula 12: Ordenação: Bubble, Selection e Insertion Sort (35)

38 Exercícios propostos Exercício 01 Dada a sequência de números: Ordene em ordem crescente utilizando os três algoritmos aprendidos em sala (BubbleSort, SelectionSort e InsertionSort), apresentando a sequência dos números a cada passo (Teste de Mesa). BCC202 - Estrutura de Dados I Aula 12: Ordenação: Bubble, Selection e Insertion Sort (36)

BCC202 - Estrutura de Dados I

BCC202 - Estrutura de Dados I BCC202 - Estrutura de Dados I Aula 15: Ordenação: ShellSort Reinaldo Fortes Universidade Federal de Ouro Preto, UFOP Departamento de Computação, DECOM Website: www.decom.ufop.br/reifortes Email: reifortes@iceb.ufop.br

Leia mais

Algoritmos de ordenação: Bucketsort, Radixsort e Seleção

Algoritmos de ordenação: Bucketsort, Radixsort e Seleção CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS Algoritmos de ordenação: Bucketsort, Radixsort e Seleção Algoritmos e Estruturas de Dados I Natália Batista https://sites.google.com/site/nataliacefetmg/

Leia mais

BCC202 - Estrutura de Dados I

BCC202 - Estrutura de Dados I BCC202 - Estrutura de Dados I Aula 13: Ordenação: MergeSort Reinaldo Fortes Universidade Federal de Ouro Preto, UFOP Departamento de Computação, DECOM Website: www.decom.ufop.br/reifortes Email: reifortes@iceb.ufop.br

Leia mais

Ordenação. Prof. Jonas Potros

Ordenação. Prof. Jonas Potros Ordenação Prof. Jonas Potros Conceitos Básicos Ordenar: processo de rearranjar um conjunto de objetos em uma ordem ascendente ou descendente. A ordenação visa facilitar a recuperação posterior de itens

Leia mais

Ordenação (Parte 1) Prof. Túlio Toffolo BCC202 Aula 13 Algoritmos e Estruturas de Dados I

Ordenação (Parte 1) Prof. Túlio Toffolo  BCC202 Aula 13 Algoritmos e Estruturas de Dados I Ordeação (Parte 1) Prof. Túlio Toffolo http://www.toffolo.com.br BCC0 Aula 13 Algoritmos e Estruturas de Dados I Critério de Ordeação Ordea-se de acordo com uma chave: typedef it TChave; typedef struct

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

ALGORITMOS DE ORDENAÇÃO

ALGORITMOS DE ORDENAÇÃO ALGORITMOS DE ORDENAÇÃO Prof. André Backes Conceitos básicos 2 Ordenação Ato de colocar um conjunto de dados em uma determinada ordem predefinida Fora de ordem 5, 2, 1, 3, 4 Ordenado 1, 2, 3, 4, 5 OU 5,

Leia mais

Métodos de Ordenação Parte I

Métodos de Ordenação Parte I Estrutura de Dados II Métodos de Ordenação Parte I Prof a Márcio Bueno ed2tarde@marciobueno.com / ed2noite@marciobueno.com Material baseado nos materiais da Prof a Ana Eliza e Prof. Robson Lins Rearranjar

Leia mais

Ordenação. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR

Ordenação. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR Ordeação David Meotti Algoritmos e Estruturas de Dados II DIf UFPR Critério de Ordeação Ordea-se de acordo com uma chave: typedef it ChaveTipo; typedef struct ChaveTipo Chave; /* outros compoetes */ Item;

Leia mais

USP - ICMC - SSC SSC o. Semestre Disciplina de Linguagem de Programação e Aplicações [ Eng. Elétrica / Automação ]

USP - ICMC - SSC SSC o. Semestre Disciplina de Linguagem de Programação e Aplicações [ Eng. Elétrica / Automação ] USP - ICMC - SSC SSC 0300-2o. Semestre 2013 Disciplina de [ Eng. Elétrica / Automação ] Prof. Dr. Fernando Santos Osório / PAE: Rafael Klaser (LRM / ICMC) LRM - Laboratório de Robótica Móvel do ICMC /

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

Extra- Algoritmos de Ordenação

Extra- Algoritmos de Ordenação Extra- Algoritmos de Ordenação 1 Introdução Ordenar: processo de rearranjar um conjunto de objetos em uma ordem ascendente ou descendente. A ordenação visa facilitar a recuperação posterior de itens do

Leia mais

Os métodos de ordenação que ordenam os elementos in situ podem ser classificados em três principais categorias:

Os métodos de ordenação que ordenam os elementos in situ podem ser classificados em três principais categorias: ORDENAÇÃO A atividade de ordenação é o processo de rearranjo de um certo conjunto de objetos de acordo com um critério (ordem) específico. O objetivo da ordenação é facilitar a localização dos membros

Leia mais

Métodos de Ordenação

Métodos de Ordenação Métodos de Ordenação Conceitos básicos sobre ordenação Ordenar corresponde ao processo de rearranjar um conjunto de objetos em uma ordem específica. Objetivo da ordenação: facilitar a recuperação posterior

Leia mais

Estruturas de Dados Algoritmos de Ordenação

Estruturas de Dados Algoritmos de Ordenação Estruturas de Dados Prof. Eduardo Alchieri (introdução) Considere uma sequência arbitrária S = {s1, s2, s3,...sn} composta por n 0 elementos retirados do conjunto universo U O objetivo da ordenação é arrumar

Leia mais

Algoritmos de ordenação: Inserção e Shellsort

Algoritmos de ordenação: Inserção e Shellsort CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS Algoritmos de ordenação: Inserção e Shellsort Algoritmos e Estruturas de Dados I Slides adaptados dos slides do livro texto (Ziviani) e dos slides

Leia mais

- Métodos simples de busca - Métodos ingênuos de ordenação (introdução)

- Métodos simples de busca - Métodos ingênuos de ordenação (introdução) 1 MCTA028 Programação Estruturada Busca e Ordenação (parte I) - Métodos simples de busca - Métodos ingênuos de ordenação (introdução) Material preparado a partir de slides dos profs. Jesús Mena-Chalco

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

Limite assintótico para a ordenação, Ordenação em tempo linear

Limite assintótico para a ordenação, Ordenação em tempo linear Algoritmos e Estruturas de Dados I Limite assintótico para a ordenação, Ordenação em tempo linear Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 1Q-2017 1 Ordenação Ordenar corresponde ao processo

Leia mais

Projeto e Análise de Algoritmos

Projeto e Análise de Algoritmos Projeto e Análise de Algoritmos Aula 09 Algoritmos de Ordenação Edirlei Soares de Lima Ordenação Problema: Entrada: conjunto de itens a 1, a 2,..., a n ; Saída: conjunto de itens

Leia mais

BCC202 - Estrutura de Dados I

BCC202 - Estrutura de Dados I BCC202 - Estrutura de Dados I Aula 14: Ordenação: QuickSort Reinaldo Fortes Universidade Federal de Ouro Preto, UFOP Departamento de Computação, DECOM Website: www.decom.ufop.br/reifortes Email: reifortes@iceb.ufop.br

Leia mais

Listas (Parte 1) Túlio Toffolo BCC202 Aula 09 Algoritmos e Estruturas de Dados I

Listas (Parte 1) Túlio Toffolo  BCC202 Aula 09 Algoritmos e Estruturas de Dados I Listas (Parte 1) Túlio Toffolo tulio@toffolo.com.br www.toffolo.com.br BCC202 Aula 09 Algoritmos e Estruturas de Dados I Ementa do Curso Tipos Abstratos de Dados / Alocação Dinâmica Análise de Algoritmos

Leia mais

Ordenação: HeapSort. Prof. Túlio Toffolo BCC202 Aula 17 Algoritmos e Estruturas de Dados I

Ordenação: HeapSort. Prof. Túlio Toffolo   BCC202 Aula 17 Algoritmos e Estruturas de Dados I 2014-01 Aula 16 Fila de Prioridade / HeapSort Adaptado por Reinaldo Fortes para o curso de 2014-01 Arquivo original: Aula 17: HeapSort Ordenação: HeapSort Prof. Túlio Toffolo http://www.toffolo.com.br

Leia mais

Métodos de Classificação

Métodos de Classificação Métodos de Classificação 261 Objetivos e Caracterizações O acesso a um conjunto de dados é facilitado se o mesmo está armazenado conforme uma certa ordem, baseada num critério conhecido. O objetivo básico

Leia mais

MÉTODOS DE ORDENAÇÃO. Introdução à Programação SI1

MÉTODOS DE ORDENAÇÃO. Introdução à Programação SI1 MÉTODOS DE ORDENAÇÃO Introdução à Programação SI1 2 Conteúdo Conceitos básicos Classificação por troca Classificação por inserção Classificação por seleção 3 Conceitos Básicos Ordenar: processo de rearranjar

Leia mais

Algoritmos e Programação de Computadores Profs: Ronaldo Castro de Oliveira Anilton Joaquim da Silva

Algoritmos e Programação de Computadores Profs: Ronaldo Castro de Oliveira Anilton Joaquim da Silva Algoritmos e Programação de Computadores Profs: Ronaldo Castro de Oliveira ronaldo.co@ufu.br Anilton Joaquim da Silva anilton@ufu.br Introdução Uma das aplicações mais estudadas e realizadas sobre arranjos

Leia mais

Ordenação: QuickSort. Prof. Túlio Toffolo BCC202 Aula 15 Algoritmos e Estruturas de Dados I

Ordenação: QuickSort. Prof. Túlio Toffolo  BCC202 Aula 15 Algoritmos e Estruturas de Dados I Ordenação: QuickSort Prof. Túlio Toffolo http://www.toffolo.com.br BCC202 Aula 15 Algoritmos e Estruturas de Dados I QuickSort Proposto por Hoare em 1960 e publicado em 1962. É o algoritmo de ordenação

Leia mais

BCC202 - Estrutura de Dados I

BCC202 - Estrutura de Dados I BCC202 - Estrutura de Dados I Aula 06: Análise de Algoritmos (Parte 3) Reinaldo Fortes Universidade Federal de Ouro Preto, UFOP Departamento de Ciência da Computação, DECOM Website: www.decom.ufop.br/reifortes

Leia mais

Carlos Eduardo Batista. Centro de Informática - UFPB

Carlos Eduardo Batista. Centro de Informática - UFPB Estrutura de Dados Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br Métodos de pesquisa e classificação de dados (continuação) Estruturas de Dados 2 Algoritmo de busca Recebe como argumento

Leia mais

Aula T19 BCC202 Pesquisa (Parte 1) Pesquisa Binária. Túlio Toffolo

Aula T19 BCC202 Pesquisa (Parte 1) Pesquisa Binária. Túlio Toffolo Aula T19 BCC202 Pesquisa (Parte 1) Pesquisa Binária Túlio Toffolo www.decom.ufop.br/toffolo Pesquisa em Memória Primária n Introdução - Conceitos Básicos n Pesquisa Sequencial n Pesquisa Binária n Árvores

Leia mais

Programação de Computadores Ordenação de Arranjos

Programação de Computadores Ordenação de Arranjos Programação de Computadores Ordenação de Arranjos Notação O Alan de Freitas Classes de algoritmos Busca em arranjo Busca sequencial Busca binária On) Olog n) Ordenação de Arranjos Ordenação de Arranjos

Leia mais

Método BubbleSort. Estrutura de Dados II Prof Jairo Francisco de Souza

Método BubbleSort. Estrutura de Dados II Prof Jairo Francisco de Souza Método BubbleSort Estrutura de Dados II Prof Jairo Francisco de Souza Introdução Ordenar corresponde ao processo de reorganizar um conjunto de objetos em uma ordem ascendente ou descendente Consiste em

Leia mais

ALGORITMOS E ESTRUTURAS DE DADOS CES-11

ALGORITMOS E ESTRUTURAS DE DADOS CES-11 ALGORITMOS E ESTRUTURAS DE DADOS CES-11 Prof. Paulo André Castro pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac IECE - ITA CAP. 5. TÉCNICAS DE ORDENAÇÃO 5.1. Introdução 5.2. Métodos

Leia mais

Algoritmos e Estruturas de Dados I Aula 05: Métodos simples de ordenação (bogo Sort, selection Sort, insertion Sort, bubble Sort)

Algoritmos e Estruturas de Dados I Aula 05: Métodos simples de ordenação (bogo Sort, selection Sort, insertion Sort, bubble Sort) Algoritmos e Estruturas de Dados I Aula 05: Métodos simples de ordenação (bogo Sort, selection Sort, insertion Sort, bubble Sort) Prof. Jesús P. Mena-Chalco 1Q-2016 1 Ordenação Ordenar corresponde ao processo

Leia mais

Classificação por Seleção - selection sort

Classificação por Seleção - selection sort Classificação por Seleção - selection sort Outro método também simples de ordenação é a ordenação por seleção. Princípio de funcionamento: 1. Selecione o menor item do vetor (ou o maior). 2. Troque-o com

Leia mais

heapsort (int *x, int n) { int i, e, s, f, aux; /*fase de pré-processamento - cria heap inicial*/ for (i=1; i<n; i++) { e = x[i]; s = i; f = (s-1)/2;

heapsort (int *x, int n) { int i, e, s, f, aux; /*fase de pré-processamento - cria heap inicial*/ for (i=1; i<n; i++) { e = x[i]; s = i; f = (s-1)/2; heapsort (int *x, int n) { int i, e, s, f, aux; /*fase de pré-processamento - cria heap inicial*/ for (i=1; i0 && x[f]

Leia mais

BCC202 - Estrutura de Dados I

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

Leia mais

ORDENAÇÃO DE ARQUIVOS. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos

ORDENAÇÃO DE ARQUIVOS. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos ORDENAÇÃO DE ARQUIVOS Vanessa Braganholo Estruturas de Dados e Seus Algoritmos ORDENAÇÃO Busca binária exige que arquivo esteja ordenado Como ordenar um arquivo? INSTITUTO DE COMPUTAÇÃO - UFF 2 MÉTODOS

Leia mais

Linguagem C: Algoritmos de Ordenação

Linguagem C: Algoritmos de Ordenação Introdução Prof. Paulo R. S. L. Coelho paulo@facom.ufu.br Faculdade de Computação Universidade Federal de Uberlândia GEQ007 Organização Introdução 1 Introdução 2 3 Organização Introdução 1 Introdução 2

Leia mais

MÉTODOS DE ORDENAÇÃO. Introdução à Programação SI2

MÉTODOS DE ORDENAÇÃO. Introdução à Programação SI2 MÉTODOS DE ORDENAÇÃO Introdução à Programação SI2 2 Conteúdo Conceitos básicos Classificação por troca Classificação por inserção Classificação por seleção 3 Conceitos Básicos Ordenar: processo de rearranjar

Leia mais

Tabelas Hash. Prof. Túlio Toffolo BCC202 Aulas 23 e 24 Algoritmos e Estruturas de Dados I

Tabelas Hash. Prof. Túlio Toffolo  BCC202 Aulas 23 e 24 Algoritmos e Estruturas de Dados I Tabelas Hash Prof. Túlio Toffolo http://www.toffolo.com.br BCC202 Aulas 23 e 24 Algoritmos e Estruturas de Dados I Pesquisa em Memória Primária Introdução - Conceitos Básicos Pesquisa Sequencial Pesquisa

Leia mais

Algoritmos de Ordenação. Cota inferior. Professora: Fátima L. S. Nunes SISTEMAS DE INFORMAÇÃO

Algoritmos de Ordenação. Cota inferior. Professora: Fátima L. S. Nunes SISTEMAS DE INFORMAÇÃO Algoritmos de Ordenação Cota inferior Professora: Fátima L. S. Nunes 1 1 1 Algoritmos de Ordenação Algoritmos de ordenação que já conhecemos: 2 2 2 Algoritmos de Ordenação Algoritmos de ordenação que já

Leia mais

O Problema da Ordenação Métodos de Ordenação Parte 1

O Problema da Ordenação Métodos de Ordenação Parte 1 Métodos de Ordenação Parte 1 SCC-201 Introdução à Ciência da Computação II Rosane Minghim 2010 Ordenação (ou classificação) é largamente utilizada Listas telefônicas e dicionários Grandes sistemas de BD

Leia mais

Ordenação em Memória Primária Estrutura de Dados II

Ordenação em Memória Primária Estrutura de Dados II - Centro de Ciências Exatas, Naturais e de Saúde Departamento de Computação Ordenação em Memória Primária Estrutura de Dados II Estrutura de Dados II COM10078-2017-I Prof. Marcelo Otone Aguiar marcelo.aguiar@ufes.br

Leia mais

Métodos de Classificação

Métodos de Classificação 395 Métodos de Classificação 396 Objetivos e Caracterizações O acesso a um conjunto de dados é facilitado se o mesmo está armazenado conforme uma certa ordem, baseada num critério conhecido. O objetivo

Leia mais

Ordenação. Última alteração: 10 de Outubro de Transparências elaboradas por Fabiano C. Botelho, Leonardo Rocha, Leonardo Mata e Nivio Ziviani

Ordenação. Última alteração: 10 de Outubro de Transparências elaboradas por Fabiano C. Botelho, Leonardo Rocha, Leonardo Mata e Nivio Ziviani Ordenação Última alteração: 10 de Outubro de 2006 Transparências elaboradas por Fabiano C. Botelho, Leonardo Rocha, Leonardo Mata e Nivio Ziviani Projeto de Algoritmos Cap.4 Ordenação 1 Ordenação Introdução

Leia mais

Métodos de Ordenação. Ordenação Interna. Ordenação Interna

Métodos de Ordenação. Ordenação Interna. Ordenação Interna Métodos de rdenação Prof. Yandre Maldonado - rdenação Interna rdenação por Seleção; rdenação por Inserção; rdenação por Troca (Bubblesort); Prof. Yandre Maldonado e Gomes da Costa rdenação Interna Prof.

Leia mais

Métodos de Ordenação

Métodos de Ordenação Métodos de rdenação Prof. Yandre Maldonado - 1 rdenação Interna rdenação por Seleção; rdenação por Inserção; rdenação por Troca (Bubblesort); Prof. Yandre Maldonado e Gomes da Costa rdenação Interna Prof.

Leia mais

Ordenação de Dados. Ordenação de Dados

Ordenação de Dados. Ordenação de Dados UFSC-CTC-INE INE38 - Estruturas de Dados Ordenação de Dados Prof. Ronaldo S. Mello 00/ Ordenação de Dados Processo bastante utilizado na computação de uma estrutura de dados Dados ordenados garantem uma

Leia mais

Métodos de ordenação. Bubble sort:

Métodos de ordenação. Bubble sort: Métodos de ordenação Bubble sort: O método de ordenação por bubble sort ou conhecido como bolha consiste em compara dados armazenados em um vetor de tamanho qualquer, comparando cada elemento de uma posição

Leia mais

Algoritmos de Ordenação

Algoritmos de Ordenação Algoritmos de Ordenação! Problema: encontrar um número de telefone em uma lista telefônica! simplificado pelo fato dos nomes estarem em ordem alfabética! e se estivesse sem uma ordem?! Problema: busca

Leia mais

Centro de Informá-ca Universidade Federal de Pernambuco. Vinicius Cardoso Garcia 2011 Vinicius Cardoso Garcia

Centro de Informá-ca Universidade Federal de Pernambuco. Vinicius Cardoso Garcia 2011 Vinicius Cardoso Garcia Centro de Informá-ca Universidade Federal de Pernambuco Vinicius Cardoso Garcia vcg@cin.ufpe.br Problema Dados N números, arranjá los em ordem crescente ou decrescente (Sor-ng) Ordenar é dispor os elementos

Leia mais

Ordenação. Ordenação. Introdução - Conceitos Básicos. Introdução - Conceitos Básicos. Introdução - Conceitos Básicos

Ordenação. Ordenação. Introdução - Conceitos Básicos. Introdução - Conceitos Básicos. Introdução - Conceitos Básicos Projeto de Algoritmos Cap.4 Ordenação 1 Ordenação Introdução - Conceitos Básicos Ordenação Última alteração: 10 de Outubro de 2006 Transparências elaboradas por Fabiano C. Botelho, Leonardo Rocha, Leonardo

Leia mais

Estrutura de Dados. Algoritmos de Ordenação. Prof. Othon M. N. Batista Mestre em Informática

Estrutura de Dados. Algoritmos de Ordenação. Prof. Othon M. N. Batista Mestre em Informática Estrutura de Dados Algoritmos de Ordenação Prof. Othon M. N. Batista Mestre em Informática Roteiro Introdução Ordenação por Inserção Insertion Sort Ordenação por Seleção Selection Sort Ordenação por Bolha

Leia mais

Introdução a Algoritmos Parte 09

Introdução a Algoritmos Parte 09 Universidade Federal do Vale do São Francisco Curso de Engenharia de Computação Introdução a Algoritmos Parte 09 (Baseado no Material do Prof. Marcelo Linder) Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br

Leia mais

Ordenação: Heapsort. Algoritmos e Estruturas de Dados II

Ordenação: Heapsort. Algoritmos e Estruturas de Dados II Ordenação: Heapsort Algoritmos e Estruturas de Dados II Introdução Possui o mesmo princípio de funcionamento da ordenação por seleção Selecione o menor item do vetor Troque-o pelo item da primeira posição

Leia mais

Listas Lineares. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR

Listas Lineares. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR Listas Lineares David Menotti DInf UFPR Listas Lineares Uma das formas mais simples de interligar os elementos de um conjunto. Estrutura em que as operações inserir, retirar e localizar são definidas.

Leia mais

Conteúdo. Busca Seqüencial. Busca Binária. Algoritmos de Ordenação e Busca e sua Análise de Complexidade. Alneu de Andrade Lopes Rosane Minghim

Conteúdo. Busca Seqüencial. Busca Binária. Algoritmos de Ordenação e Busca e sua Análise de Complexidade. Alneu de Andrade Lopes Rosane Minghim Algoritmos de Ordenação e Busca e sua Análise de Complexidade Alneu de Andrade Lopes Rosane Minghim Introdução Busca seqüencial Busca binária Notação O(f(n)) Hierarquia de funções Selection sort Insertion

Leia mais

Algoritmos de Ordenação

Algoritmos de Ordenação Algoritmos de Ordenação Leandro Tonietto Unisinos ltonietto@unisinos.br http://professor.unisinos.br/ltonietto Atualizado em 7-Jun-12 http://professor.unisinos.br/ltonietto/inf/lb2/sort.pdf ! Objetivos!

Leia mais

MÉTODOS DE ORDENAÇÃO DE DADOS EM MEMÓRIA PRIMÁRIA. Material da Prof. Ana Eliza

MÉTODOS DE ORDENAÇÃO DE DADOS EM MEMÓRIA PRIMÁRIA. Material da Prof. Ana Eliza MÉTODOS DE ORDENAÇÃO DE DADOS EM MEMÓRIA PRIMÁRIA Material da Prof. Ana Eliza Métodos de Ordenação em Memória Primária Métodos Elementares Classificação por Inserção Método da Inserção Direta Classificação

Leia mais

Memória secundária. Memória secundária

Memória secundária. Memória secundária introdução ordenação interna ordenação externa ordenar processo de rearranjar um conjunto de itens em uma ordem ascendente ou descendente visa facilitar a recuperação posterior de itens do conjunto ordenado

Leia mais

MÉTODOS DE CLASSIFICAÇÃO EM MEMÓRIA PRIMÁRIA. George Gomes Cabral

MÉTODOS DE CLASSIFICAÇÃO EM MEMÓRIA PRIMÁRIA. George Gomes Cabral MÉTODOS DE CLASSIFICAÇÃO EM MEMÓRIA PRIMÁRIA George Gomes Cabral MÉTODOS DE CLASSIFICAÇÃO EM MEMÓRIA PRIMÁRIA Métodos Elementares Classificação por Trocas Método da Bolha Bubblesort Método de Partição

Leia mais

INF1007: Programação 2 6 Ordenação de Vetores. 01/10/2015 (c) Dept. Informática - PUC-Rio 1

INF1007: Programação 2 6 Ordenação de Vetores. 01/10/2015 (c) Dept. Informática - PUC-Rio 1 INF1007: Programação 2 6 Ordenação de Vetores 01/10/2015 (c) Dept. Informática - PUC-Rio 1 Tópicos Introdução Ordenação bolha (bubble sort) Ordenação por seleção (selection sort) 01/10/2015 (c) Dept. Informática

Leia mais

Linguagem C: Ordenação

Linguagem C: Ordenação Instituto de C Linguagem C: Ordenação Luis Martí Instituto de Computação Universidade Federal Fluminense lmarti@ic.uff.br - http://lmarti.com Tópicos Principais Introdução Algoritmos de ordenação Ordenação

Leia mais

Algoritmos e Estrutura de Dados

Algoritmos e Estrutura de Dados Algoritmos e Estrutura de Dados Ricardo Terra rterrabh [at] gmail.com Ricardo Terra (rterrabh [at] gmail.com) Algoritmos e Estrutura de Dados Outubro, 2013 1 / 136 CV Nome: Ricardo Terra Email: rterrabh

Leia mais

Aula 13: Ordenação - Heapsort. Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP

Aula 13: Ordenação - Heapsort. Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP Aula 13: Ordenação - Heapsort Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP Filas de Prioridades É uma estrutura de dados onde a chave de cada item reflete sua habilidade relativa de abandonar

Leia mais

Projeto e Análise de Algoritmos

Projeto e Análise de Algoritmos Projeto e Algoritmos Pontifícia Universidade Católica de Minas Gerais harison@pucpcaldas.br 26 de Maio de 2017 Sumário A complexidade no desempenho de Quando utilizamos uma máquina boa, ela tende a ter

Leia mais

Universidade Federal do ABC Avaliação Disciplina Turma Professor Data Instruções para a prova (leia antes de começar): SelectionSort selectonsortrec

Universidade Federal do ABC Avaliação Disciplina Turma Professor Data Instruções para a prova (leia antes de começar): SelectionSort selectonsortrec Universidade Federal do ABC Avaliação: Prova 02 Disciplina: BC1424 - Algoritmos e Estruturas de Dados I Turma: Noturno Professor: Jesús P. Mena-Chalco Data: 03/05/2016 Nome completo: RA: Instruções para

Leia mais

Arquivos Sequenciais. Estruturas de Dados II Vanessa Braganholo

Arquivos Sequenciais. Estruturas de Dados II Vanessa Braganholo Arquivos Sequenciais Estruturas de Dados II Vanessa Braganholo Arquivos Sequenciais } Pq arquivos sequenciais? Relembrando } Relembrando: uma tabela ou arquivo é um conjunto de registros que possuem a

Leia mais

BCC202 - Estrutura de Dados I

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

Leia mais

Algoritmos de Ordenação

Algoritmos de Ordenação Algoritmos de Ordenação ACH2002 - Introdução à Ciência da Computação II Delano M. Beder Escola de Artes, Ciências e Humanidades (EACH) Universidade de São Paulo dbeder@usp.br 10/2008 Material baseado em

Leia mais

Carlos Eduardo Batista. Centro de Informática - UFPB

Carlos Eduardo Batista. Centro de Informática - UFPB Estrutura de Dados Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br Pilhas e listas Estruturas de Dados 2 Ordenação (Classificação) Rearranjar um conjunto de objetos Ordem ascendente

Leia mais

Ordenação - Motivação

Ordenação - Motivação Ordenação - Motivação Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Superior de Tecnologia em Sistemas para Internet Prof. Bruno B. Boniati www.cafw.ufsm.br/~bruno

Leia mais

Ordenação: MergeSort. Prof. Túlio Toffolo BCC202 Aula 14 Algoritmos e Estruturas de Dados I

Ordenação: MergeSort. Prof. Túlio Toffolo  BCC202 Aula 14 Algoritmos e Estruturas de Dados I Ordenação: MergeSort Prof. Túlio Toffolo http://www.toffolo.com.br BCC202 Aula 14 Algoritmos e Estruturas de Dados I DIVISÃO E CONQUISTA Motivação É preciso revolver um problema com uma entrada grande

Leia mais

Ordenação. Prof. Túlio A. M. Toffolo Prof. Marco Antonio M. Carvalho BCC402 Aula 04 Algoritmos e Programação Avançada

Ordenação. Prof. Túlio A. M. Toffolo Prof. Marco Antonio M. Carvalho   BCC402 Aula 04 Algoritmos e Programação Avançada Ordenação Prof. Túlio A. M. Toffolo Prof. Marco Antonio M. Carvalho http://www.toffolo.com.br BCC402 Aula 04 Algoritmos e Programação Avançada Aplicações Como testar se todos os elementos de um conjunto

Leia mais

Algoritmos e Estruturas de Dados

Algoritmos e Estruturas de Dados Introdução aos Algoritmos e Estruturas de Dados Repescagem 1 o Teste - A Ano lectivo: 2011/2012 1 o Semestre RESOLUÇÃO DA REPESCAGEM DO 1 o TESTE I. (2.0 + 2.0 + 2.0 + 2.0 = 8.0 val.) I.a) Escreva em linguagem

Leia mais

Aula 19: Métodos eficientes de ordenação

Aula 19: Métodos eficientes de ordenação Algoritmos e Estruturas de Dados I Aula 19: Métodos eficientes de ordenação (Merge sort e Quick sort) Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 1Q-2019 1 Intercalando 2 vetores ordenados 2 Intercalando

Leia mais

Aula 3 Listas Lineares Sequenciais Ordenadas. prof Leticia Winkler

Aula 3 Listas Lineares Sequenciais Ordenadas. prof Leticia Winkler Aula 3 Listas Lineares Sequenciais Ordenadas prof Leticia Winkler 1 Listas Lineares Sequenciais Ordenadas Elementos da lista estão dispostos num vetor (contíguos na memória) e ordenado de acordo com alguma

Leia mais

Ordenação e Pesquisa

Ordenação e Pesquisa Ordenação e Pesquisa Luís Lopes DCC-FCUP Estruturas de Dados Pesquisa de Informação A pesquisa eficiente de informação é extremamente relevante, seja: num catálogo indexado por uma relação de ordem, e.g.

Leia mais

BCC202 - Estrutura de Dados I

BCC202 - Estrutura de Dados I BCC202 - Estrutura de Dados I Aula 10: Pilhas Reinaldo Fortes Universidade Federal de Ouro Preto, UFOP Departamento de Ciência da Computação, DECOM Website: www.decom.ufop.br/reifortes Email: reifortes@iceb.ufop.br

Leia mais

Vectores: Algoritmos de Ordenação. Algoritmos e Estruturas de Dados 2009/2010

Vectores: Algoritmos de Ordenação. Algoritmos e Estruturas de Dados 2009/2010 Vectores: Algoritmos de Ordenação Algoritmos e Estruturas de Dados 2009/2010 Ordenação Problema (ordenação de vector) rearranjar os n elementos de um vector (v) por ordem crescente, ou melhor, por ordem

Leia mais

Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Algoritmos e Estruturas de Dados II Prof. Fabrício Sérgio de Paula

Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Algoritmos e Estruturas de Dados II Prof. Fabrício Sérgio de Paula Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Algoritmos e Estruturas de Dados II Prof. Fabrício Sérgio de Paula Tópicos Introdução Ordenação por bolha (bubble sort)

Leia mais

Algoritmos de Ordenação

Algoritmos de Ordenação Algoritmos de Ordenação Introdução à Ciência da Computação Prof. Edison Ishikawa Objetivo Apresentar diferentes algoritmos de ordenação de dados Mostrar como analisar os algoritmos em termos de tempo de

Leia mais

Ordenação. Ordenação. Introdução - Conceitos Básicos. Introdução - Conceitos Básicos

Ordenação. Ordenação. Introdução - Conceitos Básicos. Introdução - Conceitos Básicos Projeto de Algoritmos Cap.4 Ordenação 1 Ordenação Introdução - Conceitos Básicos Ordenação Última alteração: 26 de Março de 2004 Transparências elaboradas por Fabiano C. Botelho e Nivio Ziviani Ordenação

Leia mais

1. O que é a eficiência assintótica de um algoritmo. Explique com suas palavras.

1. O que é a eficiência assintótica de um algoritmo. Explique com suas palavras. Disciplina: Estrutura de Dados II Turma: 4EC/5CC Data: 13/11/15 Nota: Professor: Renato E. N. de Moraes Semestre: 2015-2 Valor: 0,0 pts Aluno: Lista de exercícios 04 1. O que é a eficiência assintótica

Leia mais

Ordenação. Última alteração: 26 de Março de Transparências elaboradas por Fabiano C. Botelho e Nivio Ziviani

Ordenação. Última alteração: 26 de Março de Transparências elaboradas por Fabiano C. Botelho e Nivio Ziviani Ordenação Última alteração: 26 de Março de 2004 Transparências elaboradas por Fabiano C. Botelho e Nivio Ziviani Projeto de Algoritmos Cap.4 Ordenação 1 Ordenação Introdução - Conceitos Básicos Ordenação

Leia mais

Análise de Algoritmos

Análise de Algoritmos Algoritmos p. 1/25 Análise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof. José Coelho de Pina. Algoritmos p. 2/25 Ordenação em tempo linear CLRS cap 8 Algoritmos

Leia mais

Árvores de Pesquisa (Parte I)

Árvores de Pesquisa (Parte I) Baseado no material do Prof. Reinaldo Fortes para o curso de 2014-01 Arquivo original: 21._arvores_(parte_1) Árvores de Pesquisa (Parte I) Prof. Túlio Toffolo http://www.toffolo.com.br BCC202 Algoritmos

Leia mais

BCC202 - Estrutura de Dados I

BCC202 - Estrutura de Dados I BCC202 - Estrutura de Dados I Aula 02: Alocação Dinâmica de Memória Reinaldo Fortes Universidade Federal de Ouro Preto, UFOP Departamento de Ciência da Computação, DECOM Website: www.decom.ufop.br/reifortes

Leia mais

UNIVERSIDADE DA BEIRA INTERIOR

UNIVERSIDADE DA BEIRA INTERIOR UNIVERSIDADE DA BEIRA INTERIOR Programação II 2º Semestre Frequência 2 (8 valores) Resolução 30/05/2018 A. Análise de complexidade dos algoritmos 1. (0.75 val) Considere a seguinte função em C: void funcao

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

Algoritmos e Estruturas de Dados I1 Prof. Eduardo 1

Algoritmos e Estruturas de Dados I1 Prof. Eduardo 1 Algoritmos e Estruturas de Dados I1 Prof. Eduardo 1 ORDENAÇÃO E BUSCA Ordenação: Bublesort, seleção direta e inserção direta. Busca: linear e binária 1 - ORDENAÇÃO (CLASSIFICAÇÃO) DE DADOS Em diversas

Leia mais

Aula 15: Pesquisa em Memória Primária. Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP

Aula 15: Pesquisa em Memória Primária. Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP Aula 15: Pesquisa em Memória Primária Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP Pesquisa em Memória Primária Introdução - Conceitos Básicos Pesquisa Sequencial Pesquisa Binária Árvores de

Leia mais

Métodos de Ordenação Parte 2

Métodos de Ordenação Parte 2 Estrutura de Dados II Métodos de Ordenação Parte 2 Prof a Márcio Bueno ed2tarde@marciobueno.com / ed2noite@marciobueno.com Material baseado nos materiais da Prof a Ana Eliza e Prof. Robson Lins Introdução

Leia mais

Aula 12 Métodos de Classificação: - Classificação por Inserção Direta - Classificação por Seleção Direta

Aula 12 Métodos de Classificação: - Classificação por Inserção Direta - Classificação por Seleção Direta Aula 12 Métodos de Classificação: - Classificação por Inserção Direta - Direta Prof. Gustavo Callou gustavo.callou@ufrpe.br gcallou@gmail.com Classificação por Inserção Métodos de Classificação em Memória

Leia mais

Programação Estruturada

Programação Estruturada Programação Estruturada Ordenação Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC O problema da ordenação Ordenação

Leia mais

Bubble Sort. Tempo total O(n 2 )

Bubble Sort. Tempo total O(n 2 ) Bubble Sort Considere uma seqüência de n elementos que se deseja ordenar. O método da bolha resolve esse problema através de várias passagens sobre a seqüência Não é um algoritmo eficiente, é estudado

Leia mais