6. Pesquisa e Ordenação
|
|
|
- Matilde Lameira Ximenes
- 9 Há anos
- Visualizações:
Transcrição
1 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 é extremamente relevante, seja: pesquisa num catálogo indexado por uma relação de ordem, e.g. alfabética, como seja uma lista telefónica; pesquisa interna nos registos de uma base de dados: registos ordenados ou não ordenados; pesquisa de informação em páginas Web (pesquisa de texto); pesquisa de informação em dados binários, normalmente imagens, etc. A pesquisa sequencial é dos casos mais simples e é normalmente usada quando não se tem uma relação de ordem na informação a pesquisar. Fernando Silva (DCC-FCUP) 6. Pesquisa e Ordenação Estruturas de Dados 2 / 30
2 Pesquisa Sequencial A pesquisa sequencial consiste em procurar um valor x numa sequência de valores v[] com dimensão N. Vejamos a pesquisa com valores inteiros e strings (veremos mais tarde como fazer o mesmo com apenas um método): Fernando Silva (DCC-FCUP) 6. Pesquisa e Ordenação Estruturas de Dados 3 / 30 Pesquisa Binária A pesquisa binária é uma estratégia eficiente de pesquisa de um valor x numa sequência ordenada de valores v[] indexado no intervalo (e, d): Ideia do algoritmo: Seja m a posição média de v[] Comparar x com v[m] Se x==v[m] então encontrou senão se x<v[m], procura x no intervalo [e,m-1] senão (x>v[m]), procura x no intervalo [m+1,d] Um exemplo: Fernando Silva (DCC-FCUP) 6. Pesquisa e Ordenação Estruturas de Dados 4 / 30
3 Pesquisa Binária: versão recursiva Fernando Silva (DCC-FCUP) 6. Pesquisa e Ordenação Estruturas de Dados 5 / 30 Pesquisa Binária: versão não recursiva Fernando Silva (DCC-FCUP) 6. Pesquisa e Ordenação Estruturas de Dados 6 / 30
4 Pesquisa Indirecta Seja int o[] um vector que determina a ordem dos elementos de uma sequência de nomes String nomes[]. Como pesquisar a string nome no vector nomes[]? Efectuar pesquisa binária dos nomes através do vector auxiliar o[] que define a ordem dentro de nomes[]. Fernando Silva (DCC-FCUP) 6. Pesquisa e Ordenação Estruturas de Dados 7 / 30 Pesquisa Indirecta Fernando Silva (DCC-FCUP) 6. Pesquisa e Ordenação Estruturas de Dados 8 / 30
5 Algoritmos de Ordenação Em que é que a ordenação pode ajudar para resolver tarefas importantes de programação? Verificar unicidade Como verificar se os elementos de um conjunto S são todos distintos? Ordenando S, os elementos repetidos ficam seguidos, pelo que basta verificar se S[i] = S[i + 1] para algum 1 i < n. Remover repetições Como remover todas as repetições de um dado elemento de S? Ordenar S e depois percorrer os seus elementos com 2 cursores. Prioritizar eventos Suponha que são dados um conjunto de tarefas para fazer, cada uma com o seu prazo. Ordenar os eventos de acordo com a data de deadline permite colocar as tarefas na ordem correcta. Fernando Silva (DCC-FCUP) 6. Pesquisa e Ordenação Estruturas de Dados 9 / 30 Algoritmos de Ordenação (cont.) Média/Selecção suponha-se que se pretende o k-ésimo item do conjunto S. Ordenar por ordem crescente. O valor procurado está em S[k]. Contagem/frequência Qual é o elemento mais frequente de S. Intersecção/Reunião a operação é trivial se os conjuntos estiverem ordenados. Procura eficiente como verificar se um dado elemento x pertence a um conjunto S? Se esta for uma operação frequente, compensa ordenar primeiro para depois usar pesquisa binária. Fernando Silva (DCC-FCUP) 6. Pesquisa e Ordenação Estruturas de Dados 10 / 30
6 Método de ordenação: selecção de máximo/mínimo Na posição i do vector v[], coloca-se o maior (ou menor) elemento entre os ainda não ordenados, i.e. que se encontram entre i + 1 e n 1 Fernando Silva (DCC-FCUP) 6. Pesquisa e Ordenação Estruturas de Dados 11 / 30 Ordenação Indirecta Considere um vector com 4 objectos, cada um representando uma pessoa com nome, ano e local de nascimento, ordenados por ano de nascimento. Como obter esta informação ordenada, por ordem alfabética dos nomes das pessoas, sem alterar o vector original? Usar um vector auxiliar O[] que contenha a ordenação do vector original? Fernando Silva (DCC-FCUP) 6. Pesquisa e Ordenação Estruturas de Dados 12 / 30
7 Ordenação Indirecta (cont.) Usando o método de ordenação por selecção de mínimo e admitindo que a classe Pessoa tem atributos nome, anonasc e concelho. Fernando Silva (DCC-FCUP) 6. Pesquisa e Ordenação Estruturas de Dados 13 / 30 Método de ordenação: inserção Este método de ordenação é designado de inserção porque, em cada passo, procura inserir um novo elemento na posição correcta de uma sequência já ordenada. Os passos associados ao método são: Supor que o vector v[] está já parcialmente ordenado (posições 0 a p-1); adicionar um novo elemento não ordenado é simples: basta ir de v[p] até v[0] para determinar a posição k do novo valor; deslocar os elementos entre v[k+1] e v[p]; adicionar o valor em v[k] Fernando Silva (DCC-FCUP) 6. Pesquisa e Ordenação Estruturas de Dados 14 / 30
8 Método de ordenação: inserção O algoritmo pode ser simplificado se usarmos a posição 0 do vector com um valor de paragem (mais pequeno que qualquer outro do vector; supondo ordenação crescente): Fernando Silva (DCC-FCUP) 6. Pesquisa e Ordenação Estruturas de Dados 15 / 30 Método de ordenação1: bolha (bubble-sort) Este método consiste em comparar os elementos do vector dois a dois e trocar os elementos que não estiverem na ordem desejada. O nome vem do facto de em cada iteração as comparações sucessivas de elementos deslocarem o maior (ou menor) elemento para as últimas posições do vector como se fosse o deslizar de uma bolha. Fernando Silva (DCC-FCUP) 6. Pesquisa e Ordenação Estruturas de Dados 16 / 30
9 Método de ordenação2: bolha (bubble-sort) O algoritmo 1, faz sempre n(n 1)/2 comparações. Se o vector ficar ordenado a meio das iterações, faz comparações desnecessárias. Uma optimização consiste em usar uma flag que sinaliza a ocorrência de trocas numa iteração. O algoritmo termina se não ocorrerem trocas na iteração anterior. Fernando Silva (DCC-FCUP) 6. Pesquisa e Ordenação Estruturas de Dados 17 / 30 Método de ordenação3: bolha (bubble-sort) Uma melhoria adicional é recordar em cada iteração onde se verificou a última troca e fazer o ciclo-j ir só até essa posição na iteração seguinte: As diferenças na eficiência destes 3 algoritmos de bubblesort só serão visíveis para valores grandes de n. Fernando Silva (DCC-FCUP) 6. Pesquisa e Ordenação Estruturas de Dados 18 / 30
10 Ordenação: Método Quick-Sort O quicksort é um dos algoritmos de ordenação mais eficiente (O(n log n)). Baseia-se numa estratégia recursiva dividir-para-conquistar. Supondo que se pretende ordenar um vector S, consiste em: 1 Se o número de elementos em S é 0 ou 1, S está ordenado; 2 Escolher um elemento v S. Chamamos-lhe pivot. 3 Dividir S v em dois vectores: S 1 = {x S {v} x < v}, elementos menores que o pivot S 2 = {x S {v} x v}, elementos maiores que o pivot Note-se que os elementos em S 1 e S 2 não estão necessariamente ordenados. 4 Aplicar recursivamente o algoritmo a S 1 e S 2 Neste algoritmo, o esforço está na partição do vector, sendo a estratégia de escolha do pivot importante. A junção dos sub-vectores já ordenados é uma simples colagem. Fernando Silva (DCC-FCUP) 6. Pesquisa e Ordenação Estruturas de Dados 19 / 30 Ilustração do Algoritmo Quicksort Fernando Silva (DCC-FCUP) 6. Pesquisa e Ordenação Estruturas de Dados 20 / 30
11 Implementação do quick-sort Fernando Silva (DCC-FCUP) 6. Pesquisa e Ordenação Estruturas de Dados 21 / 30 Implementação do quick-sort (cont.) Um método para concretizar a partição do vector, consiste em usar dois cursores a e b que inicialmente correspondem às extremidades do vector. Os cursores são deslocados em direcções opostas de forma a separarem os elementos menores que o pivot dos elementos maiores ou iguais. As decisões a tomar são: Se v[a] < pivot então a = a + 1 Se v[b] pivot então b = b 1 Troca v[a] com v[b] e incrementa a e b A partição está completa quando b < a. Fernando Silva (DCC-FCUP) 6. Pesquisa e Ordenação Estruturas de Dados 22 / 30
12 Implementação do quick-sort (cont.) Fernando Silva (DCC-FCUP) 6. Pesquisa e Ordenação Estruturas de Dados 23 / 30 Optimização do Algoritmo Quicksort O quicksort é menos eficiente do que outros métodos para valores pequenos de N (número de elementos no vector). Assim, uma estratégia para melhorar ainda mais o desempenho do quicksort, é evitar que ele seja aplicado quando os sub-intervalos atingem um valor relativamente baixo 10 a 15 elementos, e nesses casos usar outro método. Teríamos algo como: Fernando Silva (DCC-FCUP) 6. Pesquisa e Ordenação Estruturas de Dados 24 / 30
13 Ordenação: Método Mergesort A ideia base do algoritmo consiste em: subdivide o vector em duas partes, aplicar o algoritmo a cada parte, quando as duas partes estiverem ordenadas (2 vectores ordenados), faz-se a junção para produzir um vector final ordenado separa em 2 vectores mergesort de cada vector junta as listas ja ordenadas Fernando Silva (DCC-FCUP) 6. Pesquisa e Ordenação Estruturas de Dados 25 / 30 Algoritmo mergesort - exemplo divide-and-conquer Exemplo típico da técnica de programação dividir-para-conquistar. procuramos dividir o nosso problema em sub-problemas mais pequenos que sabemos resolver e depois juntamos os resultados dos sub-problemas para obter o resultado final. subdividir o vector inicial em sub-vectores até termos dimensão 1. Juntar ordenadamente dois vectores de dimensão 1 é fácil, podemos depois juntar dois vectores de dimensão 2, etc. O método principal consiste em: Fernando Silva (DCC-FCUP) 6. Pesquisa e Ordenação Estruturas de Dados 26 / 30
14 Mergesort - junção das partes Fernando Silva (DCC-FCUP) 6. Pesquisa e Ordenação Estruturas de Dados 27 / 30 Funções de ordenação do Java Usar a class java.util.arrays que contém vários métodos para ordenar, e.g. static void sort(object[] a) static void sort(object[] a, Comparator c) Existem outros métodos específicos para inteiros ou strings. Em Java, a classe Arrays permite a invocação do método sort() para ordenar não apenas inteiros mas outro tipo de objectos. Para tal, os objectos têm de pertencer a classes que implementem a interface Comparable: public interface Comparable { int comparetoobject(object o); } Fernando Silva (DCC-FCUP) 6. Pesquisa e Ordenação Estruturas de Dados 28 / 30
15 Funções de ordenação do Java (cont.) Como exemplo, suponhamos que temos a seguinte classe: class Pessoa implements Comparable { String nome; int idade;... public int compareto(object o) { Pessoa outra= (Pessoa) o; if (idade < outra.idade) return -1; if (idade > outra.idade) return 1; return 0; } } Fernando Silva (DCC-FCUP) 6. Pesquisa e Ordenação Estruturas de Dados 29 / 30 Funções de ordenação do Java Deste modo, se tivermos um vector de objectos do tipo Pessoa é possível ordenar: Pessoa p[]= new Pessoa[N];... Arrays.sort(p); //ordena o vector de objectos Pessoa por idade É ainda possível melhorar este código com os genéricos do Java. Fernando Silva (DCC-FCUP) 6. Pesquisa e Ordenação Estruturas de Dados 30 / 30
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.
Algoritmos 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
ALGORITMOS 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
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,
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
Algoritmos de pesquisa
Define-se pesquisa como a operação que permite encontrar ou concluir que não existe, um dado elemento num dado conjunto. A pesquisa de um elemento pode ser feita num conjunto ordenado ou não. Quando o
Pedro Ribeiro 2014/2015
Ordenação Pedro Ribeiro DCC/FCUP 2014/2015 Pedro Ribeiro (DCC/FCUP) Ordenação 2014/2015 1 / 35 Ordenação A ordenação é um passo inicial para muitos outros algoritmos Ex: encontrar a mediana Quando não
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: [email protected]
Collections Framework
Collections Framework 1 Arrays p Manipular array é bastante trabalhoso. p Dificuldades aparecem em diversos momentos: n não podemos redimensionar um array em Java; n é impossível buscar diretamente por
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
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
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
Algoritmos 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
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
5. Análise de Complexidade de Algoritmos. João Pascoal Faria (versão original) Ana Paula Rocha (versão 2003/2004) Luís Paulo Reis (versão 2005/2006)
5. Análise de Complexidade de Algoritmos João Pascoal Faria (versão original) Ana Paula Rocha (versão 2003/2004) Luís Paulo Reis (versão 2005/2006) FEUP - MIEEC Prog 2-2006/2007 Introdução Algoritmo: conjunto
Divisã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
Algoritmos de Ordenação. Profº Carlos Alberto T. Batista
Algoritmos de Ordenação Profº Carlos Alberto T. Batista E-mail: [email protected] [email protected] Por que ordenar os dados? Encontrar elementos em uma lista torna-se algo simples e
Algoritmos 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
Aná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
Capí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
Ordenaçã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
AED2 - Aula 11 Problema da separação e quicksort
AED2 - Aula 11 Problema da separação e quicksort Projeto de algoritmos por divisão e conquista Dividir: o problema é dividido em subproblemas menores do mesmo tipo. Conquistar: os subproblemas são resolvidos
BCC202 - 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
Algoritmos 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,
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
MAC121 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
Métodos de Ordenação Parte I
Estrutura de Dados II Métodos de Ordenação Parte I Prof a Márcio Bueno [email protected] / [email protected] Material baseado nos materiais da Prof a Ana Eliza e Prof. Robson Lins Rearranjar
ALGORITMOS 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 [email protected] 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
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
Vectores: 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
Estruturas de Dados 2
Estruturas de Dados 2 Técnicas de Projeto de Algoritmos Dividir e Conquistar IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 1/83 Projeto de Algoritmos por Divisão
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
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
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
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
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
Algoritmos Paralelos - ordenação
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
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
Interfaces POO. Prof. Marcio Delamaro
Interfaces POO Prof. Marcio Delamaro Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 1/41 O que é interface É um template de classe Outras classes podem seguir esse template Chamamos isso
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
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
Algoritmos 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 [email protected] 10/2008 Material
Marcelo 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
Introdução à Computação II (Noturno) BCC Unesp Rio Claro/SP 2015 em PDF via Moodle: Escolha apenas 5 exercícios para entrega Exercício 01 (Pilhas)
Introdução à Computação II (Noturno) BCC Unesp Rio Claro/SP 2015 Lista Obrigatória 02 - Prof. Rafael Oliveira (Deve ser entregue em PDF via Moodle: Escolha apenas 5 exercícios para entrega) Exercício 01
Pesquisa sequencial e pesquisa binária
Pesquisa sequencial e pesquisa binária Armando Matos Departamento de Ciência de Computadores Universidade de Porto 2008 2 problemas importantes... Pesquisa: Procurar um valor numa lista ou, por exemplo,
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)
Recursividade. Objetivos do módulo. O que é recursividade
Recursividade Objetivos do módulo Discutir o conceito de recursividade Mostrar exemplos de situações onde recursividade é importante Discutir a diferença entre recursividade e iteração O que é recursividade
Métodos de Ordenação Parte 2
Estrutura de Dados II Métodos de Ordenação Parte 2 Prof a Márcio Bueno [email protected] / [email protected] Material baseado nos materiais da Prof a Ana Eliza e Prof. Robson Lins Introdução
Edital de Seleção 024/2017 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões
Edital de Seleção 024/2017 PROPESP/UFAM Prova de Conhecimento Caderno de Questões CANDIDATO: «Nome» INSCRIÇÃO: «Inscrição» Assinatura conforme identidade INSTRUÇÕES PARA O CANDIDATO: Verifique o seu nome
UNIVERSIDADE 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
8. Árvores. Fernando Silva DCC-FCUP. Estruturas de Dados. Fernando Silva (DCC-FCUP) 8. Árvores Estruturas de Dados 1 / 38
8. Árvores Fernando Silva DCC-FCUP Estruturas de Dados Fernando Silva (DCC-FCUP) 8. Árvores Estruturas de Dados 1 / 38 Árvores - estruturas não lineares (1) Uma lista é um exemplo de uma estrutura de dados
8. Árvores. Fernando Silva. Estruturas de Dados DCC-FCUP. Fernando Silva (DCC-FCUP) 8. Árvores Estruturas de Dados 1 / 38
8. Árvores Fernando Silva DCC-FCUP Estruturas de Dados Fernando Silva (DCC-FCUP) 8. Árvores Estruturas de Dados 1 / 38 Árvores - estruturas não lineares (1) Uma lista é um exemplo de uma estrutura de dados
Algoritmos de Ordenação: MergeSort
Algoritmos de Ordenação: MergeSort 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 [email protected] 10/2008 Material
ESTRUTURA DE DADOS E ALGORITMOS. Árvores Binárias de Busca. Cristina Boeres
ESTRUTURA DE DADOS E ALGORITMOS Árvores Binárias de Busca Cristina Boeres Árvore Binária de Busca 30! construída de tal forma que, para cada nó: nós com chaves menores estão na sub-árvore esquerda nós
Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo
PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo Árvore: estrutura composta por nós e arestas entre nós. As arestas são direcionadas ( setas ) e: um nó (e apenas um) é a raiz; todo nó
Algoritmos de Ordenação
Algoritmos de Ordenação Leandro Tonietto Unisinos [email protected] http://professor.unisinos.br/ltonietto Atualizado em 7-Jun-12 http://professor.unisinos.br/ltonietto/inf/lb2/sort.pdf ! Objetivos!
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á
Listas Estáticas. SCC Algoritmos e Estruturas de Dados I. Prof. Fernando V. Paulovich. *Baseado no material do Prof.
Listas Estáticas 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
Aula 18 Algoritmos básicos de busca e classificação
Aula 18 Algoritmos básicos de busca e classificação Dentre os vários algoritmos fundamentais, os algoritmos de busca em tabelas e classificação de tabelas estão entre os mais usados. Considere por exemplo
Programação II. Busca em Vetor (search) Bruno Feijó Dept. de Informática, PUC-Rio
Programação II Busca em Vetor (search) Bruno Feijó Dept. de Informática, PUC-Rio Busca em Vetor Problema: Entrada: vetor v com n elementos elemento d a procurar Saída m se o elemento procurado está em
5. Algoritmos de Ordenação
Introdução à Computação II 5952011 5. Algoritmos de Ordenação Prof. Renato Tinós Depto. de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 5.1. Ordenação por Inserção 5.2. Ordenação por Seleção
ESTRUTURAS 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
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
Algoritmos 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
Existem duas categorias de algoritmos de ordenação: Os algoritmos de ordenação são avaliados de acordo com os seguintes critérios:
MÉTODOS DE ORDENAÇÃO E PESQUISA ORDENAÇÃO: consiste em arranjar um conjunto de informações semelhantes numa ordem crescente ou decrescente; PESQUISA: consiste em executar uma pesquisa sobre a estrutura
Classificação e Pesquisa Aula 6 Métodos de Ordenação: ShellSort e QuickSort. Prof. Esp. Pedro Luís Antonelli Anhanguera Educacional
Classificação e Pesquisa Aula 6 Métodos de Ordenação: ShellSort e QuickSort Prof. Esp. Pedro Luís Antonelli Anhanguera Educacional Plano de Ensino e Aprendizagem ( PEA) Algoritmo ShellSort Proposto por
