Algoritmos Paralelos - ordenação
|
|
- Vitorino Palha Amorim
- 7 Há anos
- Visualizações:
Transcrição
1 Algoritmos Paralelos - ordenação Fernando Silva DCC-FCUP (Alguns dos slides são baseados nos do livro Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers, 2nd ed. de B. Wilkinson) Fernando Silva (DCC-FCUP) Algoritmos Paralelos - ordenação 1 / 25
2 Ordenação em Paralelo Porquê? é uma operação frequente em muitas aplicações Objectivo? ordenar uma sequência de números (valores) por ordem crescente usando n processadores Speedup potencial? melhor algoritmo sequencial tem complexidade O(n log n) o melhor a que podemos aspirar com um algoritmo paralelo, usando n processadores é: complexidade óptima do algoritmo paralelo: O(n log n)/n = O(log n) Fernando Silva (DCC-FCUP) Algoritmos Paralelos - ordenação 2 / 25
3 Comparação-e-troca com troca de mensagens (1/2) A ordenação sequencial requer a comparação de valores e a sua permuta nas posições que ocupam na sequência. E se for em paralelo? E se a memória for distribuída? versão 1: P 1 envia A para P 2, este compara B com A e envia para P 1 o min(a, B). Fernando Silva (DCC-FCUP) Algoritmos Paralelos - ordenação 3 / 25
4 Comparação-e-troca com troca de mensagens (2/2) versão 2: P 1 envia A para P 2 ; P 2 envia B para P 1 ; P 1 faz A = min(a, B) e P 2 faz B = max(a, B). Fernando Silva (DCC-FCUP) Algoritmos Paralelos - ordenação 4 / 25
5 Partição de dados Versão 1: n números e p processadores n/p números atribuídos a cada processador. Fernando Silva (DCC-FCUP) Algoritmos Paralelos - ordenação 5 / 25
6 Junção de duas sub-listas versão 2: Fernando Silva (DCC-FCUP) Algoritmos Paralelos - ordenação 6 / 25
7 Bubble Sort (método da bolha) compara dois a dois e troca se estiverem fora de ordem. maiores valores vão sendo deslocados para o final da lista. número de comparações e trocas: n 1 i=1 i = n(n 1) 2 o que corresponde a uma complexidade O(n 2 ). Fernando Silva (DCC-FCUP) Algoritmos Paralelos - ordenação 7 / 25
8 Exemplo bubble-sort Fernando Silva (DCC-FCUP) Algoritmos Paralelos - ordenação 8 / 25
9 Bubble Sort Paralelo Ideia é ter várias iterações a correr em paralelo. Fernando Silva (DCC-FCUP) Algoritmos Paralelos - ordenação 9 / 25
10 Par-Ímpar com transposição (1/2) é uma variante do bubble-sort opera em duas fases alternadas: Fase-par: os processos par trocam números com os seus vizinhos direitos. Fase-ímpar: os processos ímpar trocam números com os seus vizinhos direitos. Fernando Silva (DCC-FCUP) Algoritmos Paralelos - ordenação 10 / 25
11 Par-Ímpar com transposição (2/2) Fernando Silva (DCC-FCUP) Algoritmos Paralelos - ordenação 11 / 25
12 Algoritmo paralelo - Par-Ímpar com transposição void ODD-EVEN-PAR(n) { id = process label for (i= 1; i<= n; i++) { if (i é ímpar) if (id for ímpar) compara-e-troca-min(id+1); else compara-e-troca-max(id-1); if (i é par) if (id for par) compara-e-troca-min(id+1); else compara-e-troca-max(id-1); } } Fernando Silva (DCC-FCUP) Algoritmos Paralelos - ordenação 12 / 25
13 Mergesort (1/2) Exemplo de um algoritmo divide-and-conquer Método de ordenação em que para ordenar um vector, subdivide-o em duas partes, aplica novamente o método a cada uma das partes e quando estas estiverem ordenadas (2 vectores ordenados) com m e n elementos, faz-se a junção para produzir um vector ordenado que contém os m + n elementos do vector inicial. A complexidade é, em média, O(n log n). Fernando Silva (DCC-FCUP) Algoritmos Paralelos - ordenação 13 / 25
14 Mergesort em paralelo (2/2) Usando uma atribuição de trabalho a processos em árvore. Fernando Silva (DCC-FCUP) Algoritmos Paralelos - ordenação 14 / 25
15 Quicksort em paralelo Usando uma atribuição de trabalho a processos em árvore. Fernando Silva (DCC-FCUP) Algoritmos Paralelos - ordenação 15 / 25
16 Problemas com a alocação de processos em árvore a divisão inicial inicia-se com apenas um processo, o que é logo limitador. no quicksort, em geral a árvore de processos não será balanceada selecção do pivot é muito importante para que possa ser eficiente. Fernando Silva (DCC-FCUP) Algoritmos Paralelos - ordenação 16 / 25
17 Odd-Even mergesort complexidade: O(log 2 n) junção de duas listas a 1, a 2,..., a n e b 1, b 2,..., b n, onde n é uma potência de 2. Fernando Silva (DCC-FCUP) Algoritmos Paralelos - ordenação 17 / 25
18 Odd-Even mergesort Aplicar recursivamente odd-even merge: Fernando Silva (DCC-FCUP) Algoritmos Paralelos - ordenação 18 / 25
19 Bitonic Sort (1/7) complexidade: O(log 2 n) uma sequência é bitónica se contém duas sequências, uma crescente e outra decrescente, i.e. a 1 < a 2 <... < a i 1 < a i > a i+1 > a i+2 >... > a n para algum i t.q. (0 i n) uma sequência é bitónica se a propriedade descrita for conseguida por rotação circular para a direita dos seus elementos. Exemplos: Fernando Silva (DCC-FCUP) Algoritmos Paralelos - ordenação 19 / 25
20 Bitonic Sort (2/7) Característica especial das sequências bitónicas: se fizermos a operação comparar-e-trocar com os elementos a i e a i+n/2, para todo o i, numa sequência de tamanho n, obtemos duas sequências bitónicas, em que os números de uma sequência são todos menores que os da outra sequência. Exemplo: começamos com a sequência 3, 5, 8, 9, 7, 4, 2, 1 e obtemos: Fernando Silva (DCC-FCUP) Algoritmos Paralelos - ordenação 20 / 25
21 Bitonic Sort (3/7) a operação compara-e-troca desloca valores menores para a esquerda e maiores para a direita. dada uma sequência bitónica, aplicando recursivamente estas operações obtemos uma lista ordenada. Fernando Silva (DCC-FCUP) Algoritmos Paralelos - ordenação 21 / 25
22 Exemplo Bitonic Sort (4/7) Fernando Silva (DCC-FCUP) Algoritmos Paralelos - ordenação 22 / 25
23 Bitonic Sort (5/7) Para ordenar uma sequência não ordenada juntar sequências em sequências bitónicas maiores, começando com pares de números adjacentes, alternando monotonicidade. e no final, a sequência bitónica é ordenada numa única sequência crescente. Fernando Silva (DCC-FCUP) Algoritmos Paralelos - ordenação 23 / 25
24 Bitonic Sort (6/7) Fernando Silva (DCC-FCUP) Algoritmos Paralelos - ordenação 24 / 25
25 Bitonic Sort (7/7) Sequência não ordenada sequência bitónica sequência ordenada. Fernando Silva (DCC-FCUP) Algoritmos Paralelos - ordenação 25 / 25
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 maisOrdenação e Pesquisa de Dados. Aula 07 Insertion Sort e Bubble Sort
Ordenação e Pesquisa de Dados Aula 07 Insertion Sort e Bubble Sort Felipe S. L. G. Duarte felipelageduarte+fatece@gmail.com Algoritmos de Ordenação A partir de agora iremos estudar os seguintes algoritmos
Leia mais6. Pesquisa e Ordenação
6. Pesquisa e Ordenação Fernando Silva DCC-FCUP Estruturas de Dados Fernando Silva (DCC-FCUP) 6. Pesquisa e Ordenação Estruturas de Dados 1 / 30 Pesquisa de Informação A pesquisa eficiente de informação
Leia maisExemplo de Arquitetura: Cliente/Servidor com Mestre e Escravos. Interface. Fator de speed-up. Speed-up
Exemplo de Arquitetura: Cliente/Servidor com Mestre e s Arquitetura Mestre- Speed-up / Cliente Mestre Prof João Paulo A Almeida (jpalmeida@infufesbr) Cliente 2015/01 - INF02799 Com alguns slides de Parallel
Leia maisTécnicas de Paralelização
Técnicas de Paralelização 2 Particionar e dividir para conquistar Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson &
Leia maisAlgoritmos e Estruturas de Dados I. Recursividade. Pedro O.S. Vaz de Melo
Algoritmos e Estruturas de Dados I Recursividade Pedro O.S. Vaz de Melo Problema Implemente uma função que classifique os elementos de um vetor em ordem crescente usando o algoritmo quicksort: 1. Seja
Leia maisALGORITMOS DE ORDENAÇÃO RECURSIVOS
1/14 ALGORITMOS DE ORDENAÇÃO RECURSIVOS Ordenação rápida ( Quicksort ) 2/14 Ordenação rápida ( Quicksort ) Ideia - Baseia-se num princípio muito simples que, quando aplicado recursivamente, acaba por ordenar
Leia maisAlgoritmos de ordenação Ordenação rápida ( Quicksort )
Ordenação rápida ( Quicksort ) Baseia-se num princípio muito simples que, quando aplicado recursivamente, acaba por ordenar o vector. Este princípio é composto por 2 passos essenciais: 1. Escolher um elemento
Leia maisBCC202 - 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 maisExemplo de Arquitetura: Cliente/Servidor com Mestre e Escravos. Interface em IDL. Dynamic Invocation Interface. Exemplo invocação DII em Java
Exemplo de Arquitetura: Cliente/Servidor com Mestre e s Arquitetura Mestre- Speed-up / Cliente Mestre Prof João Paulo A Almeida (jpalmeida@infufesbr) Cliente 2009/01 - INF02799 Com alguns slides de Parallel
Leia maisOrdenaçã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 maisGGI026 - Árvore balanceada
GGI06 - Árvore balanceada Marcelo K. Albertini 11 de Setembro de 013 /1 Trabalho 1 implementar programa para resolver o problema entregue programa deve funcionar conforme pedido na descrição 3 fazer apresentação
Leia maisCURSO DE ESTRUTURA DE DADOS MÓDULO: ALGORITMOS DE ORDENAÇÃO E PESQUISA PROFESSORA: DANIELA ELOISE FLÔR COLABORADORA: MARIA CAROLINA SILA VANUCHI
CURSO DE ESTRUTURA DE DADOS MÓDULO: ALGORITMOS DE ORDENAÇÃO E PESQUISA PROFESSORA: DANIELA ELOISE FLÔR COLABORADORA: MARIA CAROLINA SILA VANUCHI O QUE SÃO ALGORITMOS DE ORDENAÇÃO? São algoritmos que organizam
Leia maisINF 1010 Estruturas de Dados Avançadas. Indexação em Espaços Multidimensionais. 2012 DI, PUC-Rio Estruturas de Dados Avançadas 2012.
INF 1010 Estruturas de Dados Avançadas Indexação em Espaços Multidimensionais Tópicos Motivação Indexação de pontos em espaços multidimensionais Curvas de preenchimento Hash Particionado Grade Regular
Leia maisAula 01 Introdução Custo de um algoritmo, Funções de complexidad e Recursão
MC3305 Algoritmos e Estruturas de Dados II Aula 01 Introdução Custo de um algoritmo, Funções de complexidad e Recursão Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 2Q-2015 1 Custo de um algoritmo
Leia maisINF 1010 Estruturas de Dados Avançadas
11.2 INF 1010 Estruturas de Dados Avançadas Listas de Prioridades e Heaps 1 Listas de Prioridades Em muitas aplicações, dados de uma coleção são acessados por ordem de prioridade A prioridade associada
Leia maisVectores: Algoritmos de Ordenação. Algoritmos e Estruturas de Dados 2008/2009
Vectores: Algoritmos de Ordenação Algoritmos e Estruturas de Dados 2008/2009 Ordenação Problema (ordenação de vector) rearranjar os n elementos de um vector (v) por ordem crescente, ou melhor, por ordem
Leia maisALGORITMOS DE ORDENAÇÃO. Algoritmos de comparação-e-troca. Bubble Sort Merge Sort Quick Sort
ALGORITMOS DE ORDENAÇÃO ALGORITMOS DE ORDENAÇÃO Algoritmos de comparação-e-troca Bubble Sort Merge Sort Quick Sort 1 BUBBLE SORT Usa a estratégia de comparação-e-troca É constituído por várias fases Cada
Leia mais2) Escreva um algoritmo que leia um conjunto de 10 notas, armazene-as em uma variável composta chamada NOTA e calcule e imprima a sua média.
1) Inicializar um vetor de inteiros com números de 0 a 99 2) Escreva um algoritmo que leia um conjunto de 10 notas, armazene-as em uma variável composta chamada NOTA e calcule e imprima a sua média 3)
Leia maisAlgoritmos 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 maisEstrutura 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 maisAnálise de programas imperativos
Análise de programas imperativos AMC 2011/12 ì Paulo Mateus Departamento de Matemática IST 2012 Objectivos ì Noção de invariante e variante de um ciclo ì Prova (informal) da correção de algoritmos imperativos
Leia maisMé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Árvores Parte 1. Aleardo Manacero Jr. DCCE/UNESP Grupo de Sistemas Paralelos e Distribuídos
Árvores Parte 1 Aleardo Manacero Jr. DCCE/UNESP Grupo de Sistemas Paralelos e Distribuídos Árvores uma introdução As listas apresentadas na aula anterior formam um conjunto de TADs extremamente importante
Leia maisMÉ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 maisQuick Sort. Considerações Sobre Algoritmos de Ordenação. Estagiário PAE: Jesimar da S. Arantes Professor: Claudio Quick F. M.
Quick Sort Considerações Sobre Algoritmos de Ordenação Professor: Claudio F. M. Toledo 26 de Outubro de 2016 Professor: Claudio Quick F. M. Sort Toledo 26 de Outubro de 2016 1 / 14 Quicksort: Escolha do
Leia maisALGORITMOS 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 maisESTRUTURAS DE DADOS E ALGORITMOS ALGORITMOS DE ORDENAÇÃO EM TEMPO LINEAR
ESTRUTURAS DE DADOS E ALGORITMOS 1 ALGORITMOS DE ORDENAÇÃO EM TEMPO LINEAR Adalberto Cajueiro Departamento de Sistemas e Computação Universidade Federal de Campina Grande COMPARAÇÃO DOS ALGORITMOS DE ORDENAÇÃO
Leia maisÁrvores de Decisão Matemática Discreta
Bruno Duarte Eduardo Germano Isolino Ferreira Vagner Gon Árvores de Decisão Matemática Discreta 28/04/2011 Serra IFES Definição de Árvores de Decisão: Arvore de Decisão é uma árvore em que seus nós internos
Leia maisMÉ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 maisAlgoritmos de Ordenação em LISP
Algoritmos de Ordenação em LISP Léo Willian Kölln 8 de Agosto de 2006 Curso de Ciências da Computação Programação Funcional - INE5363 INE - Departamento de Informática e Estatística CTC - Centro Tecnológico
Leia maisBubble 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 maisVectores: 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 maisALGA - Eng.Civil - ISE - 2009/2010 - Matrizes 1. Matrizes
ALGA - Eng.Civil - ISE - 00/010 - Matrizes 1 Matrizes Introdução Se m e n são números naturais, chama-se matriz real de tipo m n (m vezes n ou m por n) a uma aplicação A : f1; ; :::; mg f1; ; :::; ng R:
Leia maisMé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 maisAlgoritmos de Pesquisa e Ordenação em Vectores
Algoritmos de Pesquisa e Ordenação em Vectores FEUP - MIEEC Programação 2-2008/2009 Pesquisa Sequencial Problema (pesquisa de valor em vector): Verificar se um valor existe no vector e, no caso de existir,
Leia maisAlgoritmos de ordenação
Ordenação rápida ( Quicksort ) Baseia-se num princípio muito simples que, quando aplicado de forma recursiva, acaba por ordenar o vetor. Este princípio é composto por 2 passos essenciais: 1. Escolher um
Leia maisAnálise e Complexidade de Algoritmos
Análise e Complexidade de Algoritmos Métodos de Ordenação - seleção e inserção - seleção e troca (bubble sort) - merge e quick sort - radix - hashing Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com http://www.bolinhabolinha.com
Leia maisDivisão-e-Conquista ( ) CAL ( ) MIEIC/FEUP. ./rr (1) Técnicas de Concepção de Algoritmos
1 Técnicas de Concepção de Algoritmos (1ª parte): divisão e conquista R. Rossetti, A.P. Rocha, A. Pereira, P.B. Silva, T. Fernandes CAL, MIEIC, FEUP Fevereiro de 2011 2 Divisão e Conquista (divide and
Leia mais1. 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 maisArquivos 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 maisOrdenaçã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 maisMé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 maisMarcelo Keese Albertini Faculdade de Computação Universidade Federal de Uberlândia
Introdução à Análise de Algoritmos Marcelo Keese Albertini Faculdade de Computação Universidade Federal de Uberlândia Aula de hoje Nesta aula veremos: Sobre a disciplina Exemplo: ordenação Sobre a disciplina
Leia maisCarlos 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 maisProjeto 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 maisOrdenaçã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 maisUniversidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Superior de Tecnologia em Sistemas para Internet
Aula 17 Quick Sort 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 Ordenação
Leia maisAnálise e Projeto de Algoritmos
Análise e Projeto de Algoritmos Prof. Eduardo Barrére www.ufjf.br/pgcc www.dcc.ufjf.br eduardo.barrere@ice.ufjf.br www.barrere.ufjf.br Solução de recorrências Para analisar o consumo de tempo de um algoritmo
Leia mais12 de Março de 2007 1. Aula 5
12 de Março de 2007 1 Multiplicação e divisão inteiras Aula 5 Estrutura desta aula Multiplicação básica Multiplicações melhoradas Multiplicação em complemento para 2 Algoritmo de Booth Divisão básica Ref:
Leia maisAlgoritmos e Estruturas de Dados II. Introdução
Algoritmos e Estruturas de Dados II Introdução Antonio Alfredo Ferreira Loureiro loureiro@dcc.ufmg.br http://www.dcc.ufmg.br/~loureiro UFMG/ICEx/DCC Algoritmos e Estruturas de Dados II 1 Algoritmos, estruturas
Leia maisOrdenação de Vectores
4. Vectores: Algoritmos de Ordenação João Pascoal Faria (versão original) Ana Paula Rocha (versão 2004/2005) Luís Paulo Reis (versão 2005/2006) FEUP - MIEEC Prog 2-2006/2007 Ordenação de Vectores Problema
Leia maisUNIVERSIDADE FEDERAL DO ESPÍRITO SANTO CENTRO UNIVERSITÁRIO NORTE DO ESPÍRITO SANTO
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 maisTeoria dos Grafos Aula 9
Teoria dos Grafos Aula 9 Aula passada Grafos direcionados Busca em grafos direcionados Ordenação topológica Aula de hoje Grafos com pesos Dijkstra Implementação Fila de prioridades e Heap Dijkstra (o próprio)
Leia maisMé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 maisAlgoritmos 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 maisTECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula 3
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula 3 1 Agenda Estrategias de Projeto Algoritmos Refinamentos Sucessivos Força Bruta Dividir e conquistar Bibliografia
Leia maisAlgoritmos de Ordenação. Profº Carlos Alberto T. Batista
Algoritmos de Ordenação Profº Carlos Alberto T. Batista E-mail: carlos.batista@facape.br carlos36_batista@yahoo.com.br Por que ordenar os dados? Encontrar elementos em uma lista torna-se algo simples e
Leia maisTeoria de Jogos. Algoritmo Minimax e Alfa-Beta AED - 2002
Teoria de Jogos Algoritmo Minimax e Alfa-Beta AED - 2002 Conceptualização do Problema Jogar pode ser visto como uma generalização do problema de procura em espaço de estados, em que existem agentes hostis
Leia maisESTRUTURAS DE DADOS E ALGORITMOS ALGORITMOS DE ORDENAÇÃO POR COMPARAÇÃO - II
ESTRUTURAS DE DADOS E ALGORITMOS ALGORITMOS DE ORDENAÇÃO POR COMPARAÇÃO - II Adalberto Cajueiro Departamento de Sistemas e Computação Universidade Federal de Campina Grande ALGORITMOS VISTOS ANTERIORMENTE
Leia maisMatemática Aplicada às Ciências Sociais- 11º ano
Matemática Aplicada às Ciências Sociais- 11º ano Professor: Pedro Nóia Livro adotado: Matemática Aplicada às Ciências Sociais- 11º ano Elisabete Longo e Isabel Branco Texto Editores Sugestão: Adquira também
Leia maisAlgoritmos 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 maisAGRUPAMENTO DE ESCOLAS DR. VIEIRA DE CARVALHO
AGRUPAMENTO DE ESCOLAS DR. VIEIRA DE CARVALHO DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS MATEMÁTICA 8.º ANO PLANIFICAÇÃO GLOBAL 1. Representação, comparação e ordenação. Representar números racionais
Leia maisCapítulo 14. Ordenação e pesquisa. Bubblesort. Alguns algoritmos de ordenação e pesquisa Medição do tempo de execução de um programa
Capítulo Ordenação e pesquisa Alguns algoritmos de ordenação e pesquisa Medição do tempo de execução de um programa Bubblesort Identifica os pares de elementos contíguos que não estão na ordem correcta
Leia maisBCC202 - Estrutura de Dados I
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: www.decom.ufop.br/reifortes
Leia maisQuickSort CI/2015. Análise e Projeto de Algoritmos. - Prof. Lucídio A. F. Cabral
QuickSort 1 Quicksort A[p q] A[q+1 r] Ordena um vetor A[p r] Divisão Particiona um vetor A em 2 subvetores A[p..q] e A[q+1..r], de tal modo que cada elemento de A[p..q] seja menor ou igual a cada elemento
Leia maisMAC121 ALGORITMOS E ESTRUTURAS DE DADOS I 2O. SEMESTRE DE 2017
PROVA 1 MAC121 ALGORITMOS E ESTRUTURAS DE DADOS I 2O. SEMESTRE DE 2017 Nome: Número USP: Instruções: (1 ) Esta prova é individual. (2 ) Não destaque as folhas deste caderno. (3 ) A prova consiste de 6
Leia maisMétodos Formais. Agenda. Relações Binárias Relações e Banco de Dados Operações nas Relações Resumo Relações Funções. Relações e Funções
Métodos Formais Relações e Funções por Mauro Silva Agenda Relações Binárias Relações e Banco de Dados Operações nas Relações Resumo Relações Funções MF - Relações e Funções 2 1 Relações Binárias Definição
Leia maisProgramação I Aula 16 Mais exemplos de recursão Pedro Vasconcelos DCC/FCUP
Programação I Aula 16 Mais exemplos de recursão DCC/FCUP DCC/FCUP 2019 1/ 28 Nesta aula 1 Desenhar árvores 2 Calcular potências 3 Ordenação Quicksort DCC/FCUP 2019 2/ 28 Desenhar árvores Vamos fazer uma
Leia maisDiagrama de Seqüência
Diagrama de Seqüência Viviane Torres da Silva viviane.silva@ic.uff.br http://www.ic.uff.br/~viviane.silva/2010.1/es1 O que é? Diagrama criado para modelagem da interação entre objetos Detalha como objetos
Leia maisEstruturas de Dados. Árvores B. - - Estrutura e peculiaridades -- Algoritmos de inserção, pesquisa e deleção
Estruturas de Dados Árvores B - - Estrutura e peculiaridades -- Algoritmos de inserção, pesquisa e deleção Definição Árvores B são árvores de pesquisa balanceadas especialmente projetadas para a pesquisa
Leia maisOBSERVAÇÕES: EXERCÍCIOS
OBSERVAÇÕES: 1. Esta lista de exercícios poderá ser resolvida individualmente ou em grupos de 2 pessoas. 2. A lista possui 25 exercícios, destes você deve responder os 5 primeiros exercícios e os outros
Leia maisDivisão e Conquista. Fernando Lobo. Algoritmos e Estrutura de Dados II. É uma técnica para resolver problemas (veremos outras técnicas mais adiante).
Divisão e Conquista Fernando Lobo Algoritmos e Estrutura de Dados II 1 / 27 Divisão e Conquista É uma técnica para resolver problemas (veremos outras técnicas mais adiante). Consiste em 3 passos: Dividir
Leia maisCiclo com Contador : instrução for. for de variável := expressão to. expressão do instrução
Métodos de Programação I 2. 27 Ciclo com Contador : instrução for identificador downto for de variável := expressão to expressão do instrução UMA INSTRUÇÃO (SIMPLES OU COMPOSTA) Neste caso o ciclo é repetido
Leia maisEstruturas 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 maisOrdenação. Insertion Sort
Sumário por trocas de vizinhos. Análise. Limites teóricos Insertion sort. Shellsort recursiva: Mergesort. Análise. Com heap binário: Heapsort. Análise. Divisão e conquista: Quicksort. Análise. Limites
Leia maisEstruturas de Dados Aula 9: Listas (parte 1) 05/04/2011
Estruturas de Dados Aula 9: Listas (parte 1) 05/04/2011 Fontes Bibliográficas Livros: Projeto de Algoritmos (Nivio Ziviani): Capítulo 3; Introdução a Estruturas de Dados (Celes, Cerqueira e Rangel): Capítulo
Leia maisINF1007: 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 maisComplexidade de Algoritmos
MAC 5710 - Estruturas de Dados - 2008 Objetivo de estudar complexidade de algoritmos Por que analisar a complexidade dos algoritmos? A preocupação com a complexidade de algoritmos é fundamental para projetar
Leia maisAlgoritmos de Ordenação: QuickSort
Algoritmos de Ordenação: QuickSort 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
Leia maisClassificação por Intercalação
458 Classificação por Intercalação Este é um bom exemplo de abordagem top down, ou de aplicação do princípio da divisão e conquista, associado à recursividade. Ao se observar o andamento do processo sobre
Leia maisvoid subdivide (LISTA_ENC *pl, LISTA_ENC *pl1, LISTA_ENC *pl2) { int cont, k=1; for (cont=tam(*pl)/2;cont;cont--) {
void subdivide (LISTA_ENC *pl, LISTA_ENC *pl1, LISTA_ENC *pl2) { int cont, k=1; for (cont=tam(*pl)/2;cont;cont--) { } ins(pl1,recup(*pl,1),k++); ret(pl,1); } for (k=1, cont=tam(*pl);cont;cont--) { ins(pl2,recup(*pl,1),k++);
Leia maisAlgoritmos e Estruturas de Dados LEE 2013/2014. popular devido à facilidade de implementação e eficiência
Algoritmos e Estruturas de Dados LEE 2013/2014 Algoritmos de Ordenação Parte II Quicksort [1] Provavelmente o algoritmo mais usado inventado nos anos 60 muito estudado e analisado desempenho bem conhecido
Leia maisAlgoritmos e Estruturas de Dados. Décima sexta aula: Quicksort
Algoritmos e Estruturas de Dados Décima sexta aula: Quicksort Nesta aula vamos Estudar o quicksort. Considerar algumas variantes: Quicksort geral, parametrizando a função de comparação. Quicksort com partição
Leia maisMÉ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 maisOrdenaçã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 maisPolos Olímpicos de Treinamento. Aula 1. Curso de Teoria dos Números - Nível 3. Divisibilidade 1. Carlos Gustavo Moreira e Samuel Barbosa Feitosa
Polos Olímpicos de Treinamento Curso de Teoria dos Números - Nível 3 Carlos Gustavo Moreira e Samuel Barbosa Aula 1 Divisibilidade 1 Teorema 1. (Algoritmo da Divisão) Para quaisquer inteiros positivos
Leia maisDivisão e conquista. Eficiência de divisão e conquista
Divisão e conquista Divisão: resolver recursivamente problemas mais pequenos (até caso base) Conquista: solução do problema original é formada com as soluções dos subproblemas á divisão quando o algoritmo
Leia maisAnálise e Complexidade de Algoritmos
Análise e Complexidade de Algoritmos Professor Ariel da Silva Dias Algoritmos Divisão e Conquista Construção incremental Resolver o problema para um sub-conjunto dos elementos de entrada; Então, adicionar
Leia maisAlgoritmos de ordenação em forma paralela.
ISUTIC 2017 Algoritmos de ordenação em forma paralela. Docente: MSc. Angel Alberto Vazquez Sánchez Bibliografía A. Grama, Introduction to parallel computing. Pearson Education, 2003. I. Foster, Designing
Leia maisALGORITMOS E ESTRUTURAS DE DADOS CES-11 Prof. Paulo André Castro Sala 110 Prédio da Computação IECE - ITA
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 MÉTODOS MAIS EFICIENTES QUE O(N 2 ) Método Quicksort Método
Leia maisProgramação Dinâmica. Aplicação directa - Fibonacci
Programação Dinâmica Divisão e conquista: problema é partido em subproblemas que se resolvem separadamente; solução obtida por combinação das soluções Programação dinâmica: resolvem-se os problemas de
Leia maisNotas de Aula Disciplina Matemática Tópico 08 Licenciatura em Matemática Osasco -2010
1. Função Eponencial Dado um número rela a > 0, e a 1, então chamamos de função eponencial de base a, a função f: R R tal que: f = a Por eemplo: f = 5 g = 1 2 = 3 Gráfico de uma função eponencial Para
Leia maisAlgoritmos 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 maisDeterminantes. Matemática Prof. Mauricio José
Determinantes Matemática Prof. Mauricio José Determinantes Definição e Conceito Matriz de ordem 1 Dizemos que um determinante é um resultado (numérico) de operações que são realizadas em uma matriz quadrada.
Leia maisCIC 110 Análise e Projeto de Algoritmos I
CIC 110 Análise e Projeto de Algoritmos I Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá sort AULA 02 Ordenação A classificação é um problema de design de algoritmo fundamental.
Leia maisÁlgebra Relacional. Banco de Dados. Profa. Dra. Cristina Dutra de Aguiar Ciferri. Profa. Dra. Cristina Dutra de Aguiar Ciferri
Álgebra Relacional Banco de Dados Álgebra Relacional Maneira teórica de se manipular o banco de dados relacional Linguagem de consulta procedural usuários especificam os dados necessários e como obtê-los
Leia maisBases de Dados BDDAD. Álgebra Relacional. Nelson Freire (ISEP LEI-BDDAD 2015/16) 1/33
BDDAD Bases de Dados Álgebra Relacional Nelson Freire (ISEP LEI-BDDAD 2015/16) 1/33 1. Introdução 2. Expressões Algébricas 3. Álgebra Relacional Implementada em SGBD 4. Operações Algébricas Remover Parte
Leia mais