Algoritmos de Ordenação

Slides:



Advertisements
Apresentações semelhantes
Ordenação de Dados em Memória
Advertisements

Aula T-09 – BCC202 Listas (Parte 1) Túlio Toffolo www. decom. ufop
Programação em Java Prof. Maurício Braga
Estruturas de Dados Marcio Gonçalves.
Linguagem de Programação IX Métodos de Ordenação
Pesquisa de Informação
Aula 10 Algoritmos de Busca
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula /08/2011 Professor Leomir J. Borba-
Algoritmos de Ordenação
Algoritmos de Busca CONTEÚDO (1) Motivação (2) Busca Linear
Algoritmos de Ordenação
Classificação de Dados
Algoritmos de Ordenação Aplicação a Listas de Registos
Série de Exercícios.
Pesquisa em Memória Primária
David Menotti Algoritmos e Estruturas de Dados I DECOM – UFOP
Medida do Tempo de Execução de um Programa
Medida do Tempo de Execução de um Programa
David Menotti Estruturas de Dados I DECOM – UFOP
David Menotti Algoritmos e Estruturas de Dados I DECOM – UFOP
Pesquisa em Memória Primária
David Menotti Estruturas de Dados I DECOM – UFOP
FACENS – Engenharia da Computação Lógica Computacional II
Ordenação Facilitar e aumentar a eficiência das operações de pesquisa sobre esses dados Pode ser crescente ou decrescente A seqüência de entrada, normalmente,
Ordenação Facilitar e aumentar a eficiência das operações de pesquisa sobre esses dados Pode ser crescente ou decrescente A seqüência de entrada, normalmente,
Classificação e Pesquisa de Dados
Classificação (Ordenação) de dados
AED – Algoritmos e Estruturas de Dados
Algoritmos Escher.
Classificação de dados por Troca: QuickSort
Método de Ordenação: InsertionSort
Métodos de Classificação por Seleção
Listas Encadeadas.
Algoritmos de Ordenação
Algoritmos de Ordenação
Insertion Sort.
Algoritmos de ordenação
Simulador de Algoritmos de Ordenação
Compressão de Textos Juliano Palmieri Lage.
Ordenação em memória primária
Desempenho, Método de Shell, Quicksort
Complexidade de algoritmos e Classificação (Ordenação) de dados
Aula 03 – BCC202 Análise de Algoritmos (Parte 1) Túlio Toffolo www
Ordenação por inserção
Entendendo as definições de classe
Ceça Moraes – Introdução à Programação SI1
Procedimentos e Funções
Módulo I Capítulo 5: Vetores
© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 1 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 1 © 2011 Pearson Prentice.
Introdução à complexidade de algoritmos Luiz Gonzaga da Silveira Junior.
Aula 10 Algoritmos de Busca
Capítulo VI – Variáveis Indexadas 6.1 – A necessidade de variáveis indexadas 6.2 – Vetores e matrizes 6.3 – Aplicações com vetores numéricos 6.4 – Aplicações.
Como analisar um algoritmo
DCC 001 Programação de Computadores 2º Semestre de 2011
Métodos de Ordenação.
CLASSIFICAÇÃO DE DADOS
1 TAD Fila com Prioridade -FCP ATAI. 2 TAD Fila com Prioridade (Priority Queue) TAD Fila com Prioridade armazena uma colecção de elementos com prioridade.
Classificação Ordenação de Dados
Berilhes Borges Garcia Algoritmos Uma ferramenta para resolver um problema de computação bem- especificado (O espírito da computação) Exemplo: ordenação.
Programação II Laboratório II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo - Transparências baseadas nos originais da Prof.
INTRODUÇÃO THOBER CORADI DETOFENO, MSC. Aula 01 JOINVILLE 2015 Universidade do Estado de Santa Catarina – CCT/UDESC.
Classificação (Ordenação) de dados
USP – ICMC – SSC SSC0300 2º Semestre 2015
Classificação (Ordenação) de dados. Roteiro Contextualização e definições sobre Classificação Métodos de Classificação de Dados.
Curso Programadores de Informática
Campus Pau dos Ferros Disciplina de Algoritmos Prof. Demétrios Coutinho INFORMÁTICA BÁSICA Algoritmos de Ordenação.
Algoritmos com matrizes e vetores
CES-11 ALGORITMOS E ESTRUTURAS DE DADOS
Algoritmos de ordenação Estruturas avançadas de dados I
Transcrição da apresentação:

Algoritmos de Ordenação Estrutura de Dados Algoritmos de Ordenação Registros (Estrutura de Dados Heterogêneas)

Visão Global O conceito de um conjunto ordenado de elementos tem considerável impacto sobre nossa vida cotidiana. Exemplos: Localizar um número telefônico em catálogo; Procurar um livro em biblioteca tradicional ou virtual; Saber qual o próximo documento a ser impresso pela impressora em um departamento da empresa; Saber qual o próximo processo a ser executado pelo processador de uma máquina qualquer; etc...

Introdução Algoritmo de ordenação em ciência da computação é um algoritmo que coloca os elementos de uma dada sequência em uma certa ordem. Em outras palavras, efetua sua ordenação completa ou parcial. Existem várias razões para se ordenar uma seqüência Uma delas é a possibilidade se acessar seus dados de modo mais eficiente. Além de permitir seu agrupamento em classes e ainda a atualização de arquivos seqüenciais 3

Algoritmos de ordenação 1- Bubble sort 2- Selection Sort 3 – Insertion Sort 4 - Quick sort (vocês já viram) 5 - Shell sort (Pesquisa do aluno) 6 - Merge sort (Pesquisa do aluno) 7 - Radix sort (Pesquisa do aluno)

Bubble sort Compara dois elementos consecutivos de um vector e se o da esquerda é maior que o da direita trocam de posição. Quando existem trocas, os elementos maiores tendem a deslocar-se para a direita e os menores para a esquerda. 5

Exemplo – BubbleSort (1/3) Suponha que se deseja classificar em ordem crescente o seguinte vetor de chaves [28, 26, 30, 24, 25]. Primeira Varredura 28 26 30 24 25 compara par (28, 26): troca 26 28 30 24 25compara par (28, 30): não troca 26 28 30 24 25 compara par (30, 24): troca 26 28 24 30 25 compara par (30, 25): troca 28 24 25 30 Maior chave em sua posição definitiva fim da primeira varredura

Exemplo – BubbleSort (2/3) Vetor inicial de chaves [28, 26, 30, 24, 25]. Resultado do fim da primeira varredura 26 28 24 25 30 Segunda Varredura 26 28 24 25 30 compara par (26, 28) : não troca 26 28 24 25 30 compara par (28, 24) : troca 26 24 28 25 30 compara par (28, 25) : troca 24 25 28 30 (não precisa comparar) fim da segunda varredura

Exemplo – BubbleSort (3/3) Vetor de chaves [28, 26, 30, 24, 25] a ser ordenado. Resultado do fim da segunda varredura 26 24 25 28 30 Terceira Varredura 26 24 25 28 30 compara par (26, 24) : troca 24 26 25 28 30 compara par (26, 25) : troca 25 26 28 30 (não precisa comparar) Fim da terceira varredura Durante a quarta varredura, nenhuma troca ocorrerá e a execução do algoritmo terminará.

Bubble sort - Implmentação private void bubblesort(int vetor[]) { int temp; boolean alterado = true; imprimir(vetor); while (alterado) { temp = 0; alterado = false; for (int j = 0; j < vetor.length - 1; j++) { if (vetor[j] > vetor[j + 1]) { temp = vetor[j + 1]; vetor[j + 1] = vetor[j]; vetor[j] = temp; alterado = true; } 9

Conclusões Os algoritmos de ordenação por bolha: → São muito simples → Eficazes apenas para uma pequena quantidade de dados. ■ Realiza um grande número de comparações pelo vetor para ser ordenado; 10