Quão rápido podemos ordenar? Aula07-LimiteInferiorpara Ordenação. Quão rápido podemos ordenar? Árvore de Decisão- Exemplo. Ordenação em Tempo Linear
|
|
- Cláudio Soares Penha
- 8 Há anos
- Visualizações:
Transcrição
1 Quão rápido podemos ordenar? Aula07-LimiteInferiorpara Ordenação Ordenação em Tempo Linear Prof. Marco Aurélio Stefanes marco em dct.ufms.br marco Um algoritmo baseado em comparação para ordenação deve ter complexidade pelo menos O(n) A melhor complexidade de pior caso que vimos até agora foi O(n lg n) (Mergesort e Heapsort) Intervalo entre O(n) e O(n lg n) Mostrar um limitante inferior para o problema de ordenação baseado em comparação de Ω(n lg n) implicará que os algoritmos Mergesort e Heapsort são ótimos (não dá para serem melhorados em termos assintóticos) Aula 07 - Limite Inferior para Ordenação p. 1 Aula 07 - Limite Inferior para Ordenação p. 3 Quão rápido podemos ordenar? Os algoritmos vistos até então são algoritmos por comparação: Usa apenas comparação para determinar a posição relativa dos elementos: Ex. Insertion, Merge, Quick e Heapsort O melhor tempo de execução de pior caso que vimos até agora é O(n lg n). Dá para resolver em tempo mais rápido? Um limite inferior no número de comparações é um limite inferior na complexidade para qualquer algoritmo resolver a ordenação baseado em comparação Árvore de decisão no ajuda a resolver esta questão Árvore de Decisão- Exemplo Árvore de decisão para o Insertionsort com entrada de 3 elementos Há 3! = 6 permutações dos elementos de entrada e a árvore de decisão deve ter pelo menos 6 folhas Aula 07 - Limite Inferior para Ordenação p. 2 Aula 07 - Limite Inferior para Ordenação p. 4
2 Árvore de Decisão- Exemplo Cada nó interno tem rótulo i : j para i,j {1, 2,... n} A subárvore esquerda mostra comparações subseqüentes se a i a j e a subárvore direita quando a i a j Aula 07 - Limite Inferior para Ordenação p. 5 Árvore de Decisão Se a i a j a subárvore esquerda mostra as comparações subseqüentes Se a i a j a subárvore direita mostra as comparações subseqüentes Quando o algoritmo atinge uma folha, ele estabeleceu uma ordenação a π(1) a π(2) a π(n) Um algoritmo correto deve produzir cada uma das permutações para uma dada entrada. Portanto deve haver pelos menos n!, folhas, uma para cada entrada, na árvore de decisão Aula 07 - Limite Inferior para Ordenação p. 7 Árvore de Decisão Árvore de Decisão- Exemplo Há pelo menos n! folhas: um para cada permutação π(1),π(2),...,π(n) A árvore de decisão modela todas as trilhas de execução A árvore de decisão modela qualquer algoritmo de ordenação baseado em comparação Uma árvore para cada n A execução do algoritmo corresponde a trilhar um caminho da raiz até uma folha Em cada nó interno, uma comparação a i a j é feita Entrada: 9, 4, Aula 07 - Limite Inferior para Ordenação p. 6 Aula 07 - Limite Inferior para Ordenação p. 8
3 Árvore de Decisão- Exemplo Entrada: 9, 4, 6 Árvore de Decisão- Exemplo Entrada: 9, 4, , 6, 9 Aula 07 - Limite Inferior para Ordenação p. 8 Aula 07 - Limite Inferior para Ordenação p. 8 Árvore de Decisão- Exemplo Entrada: 9, 4, 6 46 Árvore de Decisão Dada uma árvore de decisão para um algoritmo com uma dada entrada (de tamanho n) temos: O tempo de execução para uma entrada é o comprimento do caminho da raiz até uma folha o tempo de pior caso é a altura da árvore Comprimento do maior caminho? Insertionsort Θ(n 2 ) Mergesort Θ(n lg n) O limite inferior de ordenação de qualquer algoritmo é a menor altura de todas as árvores de decisão onde cada permutação é uma folha desta árvore Aula 07 - Limite Inferior para Ordenação p. 8 Aula 07 - Limite Inferior para Ordenação p. 9
4 Árvore de Decisão Teorema Qualquer árvore de decisão que ordena n elementos tem altura Ω(n log n) Prova: A árvore deve conter n! folhas, pois há n! permutações possíveis. Uma árvore binária de altura h tem no máximo 2 h folhas, assim n! 2 h h lg n! Pela Fórmula de Stirling n! ( n e )n h ( n e )n h = n lg n lg e Counting sort COUNTING-SORT(A, k) 1:for i = 1 to kdo 2: C[i] = 0 3:for j = 1 to ndo 4: C[A[j]] = C[A[j]] + 1 5: C[i] = key = i 6:for i = 2 to kdo 7: C[i] = C[i] + C[i 1] 8: C[i] = key i 9:for j = n to 1do 10: B[C[A[j]]] = A[j] 11: C[A[j]] = C[A[j]] 1 h = Ω(n lg n) Aula 07 - Limite Inferior para Ordenação p. 10 Aula 07 - Limite Inferior para Ordenação p. 12 Ordenação em tempo linear Counting sort: Sem comparação entre os elementos Supõe que cada elemento é um inteiro no intervalo [1..k] Entrada: A[1..n],k onde A[i] {1, 2,...,k} Saída: B[1..n] ordenado Usa vetor auxiliar C[1..k] Idéia Contar para cada elemento x da entrada o número de elementos menores que x Colocar o elemento x diretamente na sua posição no vetor de saída Aula 07 - Limite Inferior para Ordenação p. 11
5 B B 4 C C B B 1 4 C C
6 Tempo do Counting Sort B C linha consumo na linha 1 2 Θ(k) 3 4 Θ(n) 6 7 Θ(k) 9 11 Θ(n) Consumo total: Θ(n + k) se k n então consumo é Θ(n) se k 10n então consumo é Θ(n) se k = O(n) então consumo é Θ(n) se k n 2 então consumo é Θ(k) Aula 07 - Limite Inferior para Ordenação p. 14 Counting Sort B C Não é bom para ordenar números com 32 bits k = 2 32 = 4G Não é bom para ordenar números com 16 bits k = 2 16 = 64k Bom para ordenar números com 8 bits? depende de n. Bom para ordenar números com 4 bits? provavelmente! COUNTING-SORT é estável, mas não é in place Será usado no RADIX-SORT Aula 07 - Limite Inferior para Ordenação p. 15
7 Radix Sort Origem: Máquina de ordenar cartões perfurados de Hollerith O operador humano fazia parte do algoritmo Ordenação por colunas Ordena bit a bit Ordena a partir dos bits menos significativos usando um algoritmo estável RADIX-SORT(A, d) 1:for i = 1 to ddo 2: ordene de forma estável A no dígito i Radix Sort Cada A[j] têm d dígitos decimais: A[j] = a d 10 d a a Exemplo com d = 3: Consumo de tempo: dígitos decimais: dígitos em 0...k: Θ(dn) Exemplo com d = 5 e k = 128: Θ(d (n + k)). a a a a a 1 sendo 0 a i 127 Aula 07 - Limite Inferior para Ordenação p. 16 Aula 07 - Limite Inferior para Ordenação p. 18 Radix Sort Correção do Radix Sort Exemplo: Supor o algoritmo COUNTING-SORT para ordenar os dígitos Indução no número de dígitos (passos do laço) Base: Ok! Hipótese: Suponha que até o dígito i 1 os números estão ordenados Passo indutivo: mostrar que com uma ordenação estável no dígito i os números ficam ordenados dois números que diferem no dígito i são corretamente ordenados dois números que tem o dígito i iguais são corretamente ordenados (devido ao algoritmo estável e a hipótese de indução). Aula 07 - Limite Inferior para Ordenação p. 17 Aula 07 - Limite Inferior para Ordenação p. 19
8 Análise do Radix Sort Vamos ordenar n números de b bits cada Cada número: b/r dígitos na base 2 r Exemplo: 32-bit r = 8 e b/r = 4 passos do COUNTING-SORT na base 2 8 Nota: COUNTING-SORT gasta Θ(n + k) para ordenadar números no intervalo [0..k 1] Se cada número de b bits: pedaços de r bits cada passo do COUNTING-SORT toma tempo Θ(n + 2 r ) Como há b/r passos temos T(n,b) = Θ( b(n + 2r ) ) r Bucket Sort Ordena em tempo linear em média Supõe que a entrada é uniformemente distribuída no intervalo [0, 1) Idéia: dividir o intervalo [0, 1) em n subintervalos (cestos) e colocar as n entradas nos n subintervalos Esperamos por poucos números em cada intervalo Ordene cada cesto Percorra os cestos em ordem listando os elementos de cada um Usar um vetor B de listas ligadas para representar os cestos Aula 07 - Limite Inferior para Ordenação p. 20 Aula 07 - Limite Inferior para Ordenação p. 22 Análise do Radix Sort Escolher r para minimizar T(n,b) Quando r cresce minimui o número de passos, mas se r lg n o tempo cresce exponencialmente Tomando r = lg n temos T(n,b) = Θ( bn lg n ) Para números no intervalo [0..n d 1] temos T(n,b) = Θ(dn) Para grandes quantidades de números RADIX-SORT é rápido. Exemplo: (32-bits) no máximo 3 passos para n 2000 Quicksort ou Mergesort pelo menos lg 2000 = 11 passos Bucket Sort BUCKET-SORT(A, n) Entrada: vetor A com 0 A[i] < 1 Saída : vetor de lista ligada B com os elementos em ordem 1:for i = 1 to ndo 2: Insira A[i] na lista B[ na[i] ] 3:for i = 0 to n 1do 4: Ordene a lista B[i] com o INSERTION-SORT 5: concatene as listas B[0], B[1],... B[n 1] em ordem Aula 07 - Limite Inferior para Ordenação p. 21 Aula 07 - Limite Inferior para Ordenação p. 23
9 Bucket Sort Exemplo do Bucket Sort Análise do Bucket Sort Baseado no fato que nenhum cesto recebe muitos elementos (uniformemente distribuídos) Note que todas as linhas gastam tempo O(n) no pior caso, execeto a linha 4 - INSERTION-SORT. Se cada cesto recebe um número igual de elementos e temos n elementos e n cestos, então temos O(1) elementos por cestos e a ordanação de cada um gasta tempo O(1). Como temos n cestos, o tempo total das ordenações de todos os cestos é O(n). O tempo total do algoritmo é portanto O(n). A B Aula 07 - Limite Inferior para Ordenação p. 24 Aula 07 - Limite Inferior para Ordenação p. 26 Correção Bucket Sort Sejam A[i] e A[j]. Suponha sem perda de generalidade que A[i] A[j] Caso A[i] e A[j] caiam no mesmo cesto, o INSERTION-SORT resolve a ordenação Caso A[i] e A[j] caiam em cestos diferentes, A[i] é colocado em um cesto menor que A[j], pois na[i] na[j] e a concatenação resolve a ordenação Aula 07 - Limite Inferior para Ordenação p. 25
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 maisOrdenação em Tempo Linear
Ordenação em Tempo Linear Prof. Túlio Toffolo http://www.toffolo.com.br BCC202 Aula 19 Algoritmos e Estruturas de Dados I Ordenação em tempo linear Algoritmos de ordenação por comparação: InsertSort; Quicksort;
Leia maisTópico 5 Algoritmos de Ordenação. Parte II - métodos de ordenação: counting sort, radix sort e bucket sort.
Tópico 5 Algoritmos de Ordenação Parte II - métodos de ordenação: counting sort, radix sort e bucket sort. 1 Árvore de Decisão Todos os algoritmos descritos anteriormente utilizam comparações para determinar
Leia maisOrdenação em tempo linear
Ordenação em tempo linear CLRS cap 8 Algoritmos p. 1 Ordenação: limite inferior Problema: Rearranjar um vetor A[1..n] de modo que ele fique em ordem crescente. Existem algoritmos que consomem tempo O(n
Leia maisOrdenação em Tempo Linear. Leitura: Cormen Capítulo 8
Ordenação em Tempo Linear Leitura: Cormen Capítulo 8 Revisão Insertion sort: Vantagens Fácil de implementar Rápido em entradas com menos de 50 elementos. Rápido em entradas aproximadamente ordenadas. Desvantagens
Leia maisAlgoritmos de Ordenação: Tempo Linear
Algoritmos de Ordenação: Tempo Linear 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 maisAula 03 Limite assintótico para a ordenação, Ordenação em tempo linear
MC3305 Algoritmos e Estruturas de Dados II Aula 03 Limite assintótico para a ordenação, Ordenação em tempo linear Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 2Q-2015 1 2 Ordenação Ordenar corresponde
Leia maisEstruturas de Dados 2
Estruturas de Dados 2 Algoritmos de Ordenação em Tempo Linear IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 1/38 Algoritmos de Ordenação em Tempo Linear Limite Assintótico
Leia maisProjeto e Análise de Algoritmos
Projeto e Análise de Algoritmos Aula 10 Métodos de Ordenação de Complexidade Linear Edirlei Soares de Lima Ordenação Problema: Entrada: conjunto de itens a 1, a 2,..., a n ; Saída:
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 maisAnálise de algoritmos
Análise de algoritmos Ordenação em tempo linear Prof. Flávio Rogério Uber (UEM/DIN) Autor: Prof. Marco Aurélio Lopes Barbosa (UEM/DIN) Conteúdo Limites inferiores para ordenação por comparações Ordenação
Leia maisAnálise de Algoritmos Algoritmos de Ordenação
Análise de Algoritmos Algoritmos de Ordenação Nelson Cruz Sampaio Neto nelsonneto@ufpa.br Universidade Federal do Pará Instituto de Ciências Exatas e Naturais Faculdade de Computação 5 de abril de 2016
Leia maisBucketsort. CLRS sec 8.4. Algoritmos p. 1
Bucketsort CLRS sec 8.4 Algoritmos p. 1 Bucket Sort Recebe um inteiro n e um vetor A[1..n] onde cada elemento é um número no intervalo [0, 1). Algoritmos p. 2 Bucket Sort Recebe um inteiro n e um vetor
Leia maisAlgoritmos de Ordenação
Ordenação é uma das operações mais usuais em listas lineares Consequentemente, uma implementação ineficiente pode afetar diretamente o desempenho geral da aplicação! Por ser um problema bem estudado, existem
Leia maisMergesort. Aula 04. Algoritmo Mergesort. Divisão e Conquista. Divisão e Conquista- MergeSort
Mergesort Aula 0 Divisão e Conquista- MergeSort Prof. Marco Aurélio Stefanes marco em dct.ufms.br www.dct.ufms.br/ marco Mergesort é um algoritmo de ordenação recursivo Ele recursivamente ordena as duas
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 maisAnálise e Síntese de Algoritmos. Revisão CLRS, Cap. 7-10
Análise e Síntese de Algoritmos Revisão CLRS, Cap. 7-10 Contexto Revisão Algoritmos e complexidade Notação Fundamentos: somatórios, recorrências, etc. Exemplos de algoritmos Ordenação Procura Selecção
Leia maisAULA 13. Algoritmos p.526/582
AULA 13 Algoritmos p.526/582 Ordenação em tempo linear CLRS 8.2 8.3 Algoritmos p.527/582 Ordenação por contagem Recebe vetores A[1.. n] e B[1.. n] e devolve no vetor B[1.. n] os elementos de A[1.. n] em
Leia maisOrdenação de Dados (IV) MergeSort
UFSC-CTC-INE INE - Estruturas de Dados Ordenação de Dados (IV) Prof. Ronaldo S. Mello / MergeSort MergeSort é um método particular de ordenação baseia-se em junções sucessivas (merge) de seqüências ordenadas
Leia maisLimite 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 maisAula 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 maisAlgoritmos Eficientes de Ordenação
AED 2002/2003 p.1/22 Algoritmos Eficientes de Ordenação Quick Sort Merge Sort Heap Sort Utilizar informação das chaves: Counting Sort Radix Sort AED 2002/2003 p.2/22 Quick Sort int partition(item a[],
Leia maisAV1 - MA 12-2012. (b) Se o comprador preferir efetuar o pagamento à vista, qual deverá ser o valor desse pagamento único? 1 1, 02 1 1 0, 788 1 0, 980
Questão 1. Uma venda imobiliária envolve o pagamento de 12 prestações mensais iguais a R$ 10.000,00, a primeira no ato da venda, acrescidas de uma parcela final de R$ 100.000,00, 12 meses após a venda.
Leia maisUniversidade 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 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 maisAlgoritmos 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 maisTópico 5 Algoritmos de Ordenação. Parte I - métodos de ordenação: inserção, mergesort, heapsort e quicksort.
Tópico 5 Algoritmos de Ordenação Parte I - métodos de ordenação: inserção, mergesort, heapsort e quicksort. 1 Problema Computacional: Ordenação Problema computacional que surge em diversas situações. Definição:
Leia maisQuick Sort. Considerações Sobre Algoritmos de Ordenação. Estagiário PAE: Jesimar da S. Arantes Professor: ClaudioQuick F. M.
Quick Sort Considerações Sobre Algoritmos de Ordenação Estagiário PAE: Jesimar da S. Arantes Professor: Claudio F. M. Toledo 27 de Setembro de 2017 Estagiário PAE: Jesimar da S. Arantes Professor: ClaudioQuick
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 maisOrdenaçã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 maisFACULDADE DE IMPERATRIZ - FACIMP BACHARELADO EM SISTEMAS DE INFORMAÇÃO ESTRUTURA DE DADOS 2. Vieira Lima Junior. Everson Santos Araujo
1 FACULDADE DE IMPERATRIZ - FACIMP BACHARELADO EM SISTEMAS DE INFORMAÇÃO ESTRUTURA DE DADOS 2 Vieira Lima Junior Everson Santos Araujo ALGORITMOS DE ORDENAÇÃO: estudo comparativo de diversos algoritmos
Leia mais7 - Análise de redes Pesquisa Operacional CAPÍTULO 7 ANÁLISE DE REDES. 4 c. Figura 7.1 - Exemplo de um grafo linear.
CAPÍTULO 7 7 ANÁLISE DE REDES 7.1 Conceitos Básicos em Teoria dos Grafos Diversos problemas de programação linear, inclusive os problemas de transporte, podem ser modelados como problemas de fluxo de redes.
Leia mais36 a Olimpíada Brasileira de Matemática Nível Universitário Primeira Fase
36 a Olimpíada Brasileira de Matemática Nível Universitário Primeira Fase Problema 1 Turbo, o caracol, está participando de uma corrida Nos últimos 1000 mm, Turbo, que está a 1 mm por hora, se motiva e
Leia maisOrdenação em Tempo Linear
Ordenação em Tempo Linear Não realiza comparação entre elementos; Custo é dado por outras operações: Contagens; Atribuições; Espaço empregado; Assume que a sequência de números possui alguma característica
Leia maisINF 1010 Estruturas de Dados Avançadas
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 a um
Leia maisSOCIEDADE BRASILEIRA DE MATEMÁTICA MESTRADO PROFISSIONAL EM REDE NACIONAL PROFMAT
SOCIEDADE BRASILEIRA DE MATEMÁTICA MESTRADO PROFISSIONAL EM REDE NACIONAL PROFMAT GABARITO da 3 a Avaliação Nacional de Aritmética - MA14-21/12/2013 Questão 1. (pontuação: 2) (1,0) a) Enuncie e demonstre
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 maisI. Introdução à Análise de Algoritmos
I. Introdução à Análise de Algoritmos Estudo de diferentes características que permitem classificar e comparar os algoritmos A correcção de um algoritmo é fundamental. algoritmos será a primeira que abordaremos.
Leia maisAnálise de Algoritmos: Melhor caso, pior caso, caso médio
Análise de Algoritmos: Melhor caso, pior caso, caso médio Fernando Lobo Algoritmos e Estrutura de Dados II 1 / 25 Sumário Rever um problema e um algoritmo que já conhecem. Descrevê-lo em pseudo-código
Leia maisBusca Binária. Aula 05. Busca em um vetor ordenado. Análise do Busca Binária. Equações com Recorrência
Busca Binária Aula 05 Equações com Recorrência Prof. Marco Aurélio Stefanes marco em dct.ufms.br www.dct.ufms.br/ marco Idéia: Divisão e Conquista Busca_Binária(A[l...r],k) 1:if r < lthen 2: index = 1
Leia maisORDENAÇÃ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 maisPedro 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
Leia maisFILAS DE PRIORIDADE e HEAPS
FILAS DE PRIORIDADE e HEAPS Já estudamos a estrutura fila que fornece os elementos segundo um critério FIFO, da fila removese o elemento mais antigo. Acontece em algumas aplicações que necessitamos de
Leia maisAnálise de Arredondamento em Ponto Flutuante
Capítulo 2 Análise de Arredondamento em Ponto Flutuante 2.1 Introdução Neste capítulo, chamamos atenção para o fato de que o conjunto dos números representáveis em qualquer máquina é finito, e portanto
Leia maisProcessos Estocásticos
Processos Estocásticos Terceira Lista de Exercícios 22 de julho de 20 Seja X uma VA contínua com função densidade de probabilidade f dada por Calcule P ( < X < 2. f(x = 2 e x x R. A fdp dada tem o seguinte
Leia maisProjeto e Análise de Algoritmos
Projeto e Análise de Algoritmos A. G. Silva Baseado nos materiais de Souza, Silva, Lee, Rezende, Miyazawa Unicamp Ribeiro FCUP Manber, Introduction to Algorithms (989) Livro de abril de 08 Conteúdo programático
Leia maisMétodos de Ordenação Parte 4
Métodos de Ordenação Parte 4 Introdução à Ciência de Computação II Prof. Diego Raphael Amancio Baseado no material do Prof. Rudinei Goularte e Prof. Thiago A. S. Pardo 1 Ordenação por Intercalação Revisando...
Leia maisAntenas e Propagação. Artur Andrade Moura. amoura@fe.up.pt
1 Antenas e Propagação Artur Andrade Moura amoura@fe.up.pt 2 Parâmetros fundamentais das antenas Permitem caracterizar o desempenho, sobre vários aspectos, das antenas Apresentam-se definições e utilização
Leia maisAlgoritmos de Ordenação
CENTRO DE CIÊNCIAS EXATAS DEPARTAMENTO DE COMPUTAÇÃO TEORIA DA COMPUTAÇÃO Algoritmos de Ordenação Alunos: André Ricardo Gonçalves Luiz Gustavo Andrade dos Santos Paulo Roberto Silla Profa. Linnyer Beatrys
Leia maisFila de Prioridade. Siang Wun Song - Universidade de São Paulo - IME/USP. MAC 5710 - Estruturas de Dados - 2008
MAC 5710 - Estruturas de Dados - 2008 Fila de prioridade Fila de prioridade é uma estrutura de dado que mantém uma coleção de elementos, cada um com uma prioridade associada. Valem as operações seguintes.
Leia maisÁrvores B. Hashing. Estrutura de Dados II Jairo Francisco de Souza
Árvores B Hashing Estrutura de Dados II Jairo Francisco de Souza Hashing para arquivos extensíveis Todos os métodos anteriores previam tamanho fixo para alocação das chaves. Existem várias técnicas propostas
Leia maisOrdenação por Intercalação Métodos de Ordenação Parte 4
Ordenação por Intercalação Métodos de Ordenação Parte 4 SCC-601 Introdução à Ciência da Computação II Rosane Minghim 2010 Revisando... Também chamado merge-sort Idéia básica: dividir para conquistar Um
Leia maisComputadores XII: Aprendendo a Somar A4 Texto 3
Computadores XII: Aprendendo a Somar A4 Texto 3 http://www.bpiropo.com.br/fpc20051017.htm Sítio Fórum PCs /Colunas Coluna: B. Piropo Publicada em 17/10/2005 Autor: B.Piropo Na coluna anterior, < http://www.forumpcs.com.br/viewtopic.php?t=131250
Leia maisTeoria da Computação Aula 9 Noções de Complexidade
Teoria da Computação Aula 9 Noções de Complexidade Prof. Esp. Pedro Luís Antonelli Anhanguera Educacional Análise de um Algoritmo em particular Qual é o custo de usar um dado algoritmo para resolver um
Leia maisResolvendo problemas com logaritmos
A UA UL LA Resolvendo problemas com logaritmos Introdução Na aula anterior descobrimos as propriedades dos logaritmos e tivemos um primeiro contato com a tábua de logarítmos. Agora você deverá aplicar
Leia maisFACULDADE CAMPO LIMPO PAULISTA MESTRADO EM CIÊNCIA DA COMPUTAÇÃO. Projeto e Análise de Algoritmos II Lista de Exercícios 2
FACULDADE CAMPO LIMPO PAULISTA MESTRADO EM CIÊNCIA DA COMPUTAÇÃO Projeto e Análise de Algoritmos II Lista de Exercícios 2 Prof. Osvaldo. 1. Desenvolva algoritmos para as operações abaixo e calcule a complexidade
Leia maisProjeto e Análise de Algoritmos. Profa. Juliana Kaizer Vizzotto. Projeto e Análise de Algoritmos - Aula 1
Projeto e Análise de Algoritmos Profa. Juliana Kaizer Vizzotto Projeto e Análise de Algoritmos - Aula 1 Roteiro Introdução Exemplo: ordenação Introdução Análise de Algoritmos Estudo teórico da performance
Leia maisProgramação Dinâmica. Programa do PA. Técnicas Avançadas de Projeto. Aulas Anteriores. Introdução. Plano de Aula. Técnicas de Projeto de Algoritmos
Programação Dinâmica Técnicas de Projeto de Algoritmos Aula 13 Alessandro L. Koerich Pontifícia Universidade Católica do Paraná (PUCPR) Ciência da Computação 7 o Período Engenharia de Computação 5 o Período
Leia maisAlgoritmos de Ordenação Eficiência de Algoritmos
AlgoritmosdeOrdenação EficiênciadeAlgoritmos Antes de abordarmos os algoritmo de ordenac ão iremos falar umpoucosobreaeficiênciadealgoritmos UniversidadedeSãoPaulo InstitutodeCiênciasMatemáticasedeComputação
Leia maisFigure 2 - Nós folhas de uma árvore binária representando caracteres ASCII
A ocorrência tamanho ASCII codificação de Huffman é um A Codificação método de compactação de Huffman caracteres (American e a variável codificação dos usado símbolos Standard para por cada muitas no Code
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 maisAulas 17 & 18. Comutação Rápida a Pacote. Eytan Modiano MIT
Aulas 17 & 18 Comutação Rápida a Pacote Eytan Modiano MIT 1 Comutador a Pacote Etiqueta Um comutador a pacote consiste de uma máquina de roteamento (table lookup), um escalonador e uma máquina de comutação.
Leia maisREPRESENTAÇÃO DE DADOS EM SISTEMAS DE COMPUTAÇÃO AULA 03 Arquitetura de Computadores Gil Eduardo de Andrade
REPRESENTAÇÃO DE DADOS EM SISTEMAS DE COMPUTAÇÃO AULA 03 Arquitetura de Computadores Gil Eduardo de Andrade O conteúdo deste documento é baseado no livro Princípios Básicos de Arquitetura e Organização
Leia maisEstatística e Probabilidade. Aula 8 Cap 05. Distribuição normal de probabilidade
Estatística e Probabilidade Aula 8 Cap 05 Distribuição normal de probabilidade Estatística e Probabilidade Na aula anterior vimos... Distribuições Binomiais Distribuição Geométrica Distribuição de Poisson
Leia mais3º Ano do Ensino Médio. Aula nº10 Prof. Daniel Szente
Nome: Ano: º Ano do E.M. Escola: Data: / / 3º Ano do Ensino Médio Aula nº10 Prof. Daniel Szente Assunto: Função exponencial e logarítmica 1. Potenciação e suas propriedades Definição: Potenciação é a operação
Leia maisDistribuição de probabilidades
Luiz Carlos Terra Para que você possa compreender a parte da estatística que trata de estimação de valores, é necessário que tenha uma boa noção sobre o conceito de distribuição de probabilidades e curva
Leia maisO comportamento conjunto de duas variáveis quantitativas pode ser observado por meio de um gráfico, denominado diagrama de dispersão.
ESTATÍSTICA INDUTIVA 1. CORRELAÇÃO LINEAR 1.1 Diagrama de dispersão O comportamento conjunto de duas variáveis quantitativas pode ser observado por meio de um gráfico, denominado diagrama de dispersão.
Leia maisAmbos têm os algarismos 7854 seguidos, a potência de dez apenas moverá a vírgula, que não afeta a quantidade de algarismos significativos.
ALGARISMOS SIGNIFICATIVOS Os algarismos significativos são os algarismos que têm importância na exatidão de um número, por exemplo, o número 2,67 tem três algarismos significativos. Se expressarmos o número
Leia maisRetas e Planos. Equação Paramétrica da Reta no Espaço
Retas e lanos Equações de Retas Equação aramétrica da Reta no Espaço Considere o espaço ambiente como o espaço tridimensional Um vetor v = (a, b, c) determina uma direção no espaço Dado um ponto 0 = (x
Leia maisPesquisa em Memória Primária. Prof. Jonas Potros
Pesquisa em Memória Primária Prof. Jonas Potros Procedimento para Inserir na Árvore Binária Critérios: Atingir um ponteiro nulo em um processo de pesquisa significa uma pesquisa sem sucesso. O ponteiro
Leia mais7 AULA. Curvas Polares LIVRO. META Estudar as curvas planas em coordenadas polares (Curvas Polares).
1 LIVRO Curvas Polares 7 AULA META Estudar as curvas planas em coordenadas polares (Curvas Polares). OBJETIVOS Estudar movimentos de partículas no plano. Cálculos com curvas planas em coordenadas polares.
Leia maisRadix Sorting. Várias aplicações têm chaves que são inteiros, definidos dentro de um intervalo
Radix Sorting Os registros a serem ordenados podem ter chaves bastante complexas, como por exemplo sequências de caracteres (lista telefônica) o Ordenação via comparação de chaves Várias aplicações têm
Leia maisIBM1018 Física Básica II FFCLRP USP Prof. Antônio Roque Aula 6. O trabalho feito pela força para deslocar o corpo de a para b é dado por: = =
Energia Potencial Elétrica Física I revisitada 1 Seja um corpo de massa m que se move em linha reta sob ação de uma força F que atua ao longo da linha. O trabalho feito pela força para deslocar o corpo
Leia mais6. Programação Inteira
Pesquisa Operacional II 6. Programação Inteira Faculdade de Engenharia Eng. Celso Daniel Engenharia de Produção Programação Inteira São problemas de programação matemática em que a função objetivo, bem
Leia maisPedro Ribeiro 2014/2015
Programação Dinâmica Pedro Ribeiro DCC/FCUP 2014/2015 Pedro Ribeiro (DCC/FCUP) Programação Dinâmica 2014/2015 1 / 56 Números de Fibonacci Sequência de números muito famosa definida por Leonardo Fibonacci
Leia maisÁrvore - Introdução. Teoria dos Grafos. Árvore Livre. Árvore Enraizada. Algumas Definições. Algumas Definições
Árvore - Introdução Árvores Em nosso dia-a-dia nos deparamos com muitos exemplos de árvores: Árvore genealógica. Organograma de uma empresa. Tabela de um torneio esportivo. Na computação: Organização da
Leia maissendo as componentes dadas em unidades arbitrárias. Determine: a) o vetor vetores, b) o produto escalar e c) o produto vetorial.
INSTITUTO DE FÍSICA DA UFRGS 1 a Lista de FIS01038 Prof. Thomas Braun Vetores 1. Três vetores coplanares são expressos, em relação a um sistema de referência ortogonal, como: sendo as componentes dadas
Leia maisBC1424 Algoritmos e Estruturas de Dados I. Aula 16: Árvores (introdução) Prof. Jesús P. Mena-Chalco. jesus.mena@ufabc.edu.br
BC1424 Algoritmos e Estruturas de Dados I Aula 16: Árvores (introdução) Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 1Q-2015 1 2 Árvores Uma árvore é uma estrutura de dados mais geral que uma lista
Leia maisSistemas Distribuídos: Princípios e Algoritmos Introdução à Análise de Complexidade de Algoritmos
Sistemas Distribuídos: Princípios e Algoritmos Introdução à Análise de Complexidade de Algoritmos Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática
Leia maisACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO. Seção 5.1 Problemas indecidíveis. Slides originais gentilmente cedidos pela Profa. Ariane Machado Lima
ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO Seção 5.1 Problemas indecidíveis Slides originais gentilmente cedidos pela Profa. Ariane Machado Lima 1 Na aula passada... A MT é indecidível (usando diagonalização)
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 mais0,999... OU COMO COLOCAR UM BLOCO QUADRADO EM UM BURACO REDONDO Pablo Emanuel
Nível Intermediário 0,999... OU COMO COLOCAR UM BLOCO QUADRADO EM UM BURACO REDONDO Pablo Emanuel Quando um jovem estudante de matemática começa a estudar os números reais, é difícil não sentir certo desconforto
Leia maisExercícios Teóricos Resolvidos
Universidade Federal de Minas Gerais Instituto de Ciências Exatas Departamento de Matemática Exercícios Teóricos Resolvidos O propósito deste texto é tentar mostrar aos alunos várias maneiras de raciocinar
Leia maisEstudaremos métodos numéricos para resolução de sistemas lineares com n equações e n incógnitas. Estes podem ser:
1 UNIVERSIDADE FEDERAL DE VIÇOSA Departamento de Matemática - CCE Cálculo Numérico - MAT 271 Prof.: Valéria Mattos da Rosa As notas de aula que se seguem são uma compilação dos textos relacionados na bibliografia
Leia maisAnálise de Algoritmos
Análise de Algoritmos CLRS 2.3, 3.2, 4.1 e 4.2 Essas transparências foram adaptadas das transparências do Prof. Paulo Feofiloff e do Prof. José Coelho de Pina. Algoritmos p. 1 Número de inversões Problema:
Leia maisUniversidade 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 maisNotas de Cálculo Numérico
Notas de Cálculo Numérico Túlio Carvalho 6 de novembro de 2002 2 Cálculo Numérico Capítulo 1 Elementos sobre erros numéricos Neste primeiro capítulo, vamos falar de uma limitação importante do cálculo
Leia maisProfa. Dra. Amanda Liz Pacífico Manfrim Perticarrari
Profa. Dra. Amanda Liz Pacífico Manfrim Perticarrari http://www.youtube.com/watch?v=slhvnhh9iw0&feature=fvwrel São representações dos números de uma forma consistente. Apresenta uma grande quantidade de
Leia maisPROVA RESOLVIDA E COMENTADA DO BANCO DO BRASIL - 2010 - FCC MATEMÁTICA E RACIOCÍNIO LÓGICO.
PROVA RESOLVIDA E COMENTADA DO BANCO DO BRASIL - 2010 - FCC MATEMÁTICA E RACIOCÍNIO LÓGICO. Professor Joselias - http://professorjoselias.blogspot.com/. MATEMÁTICA 16. Segundo a Associação Brasileira de
Leia maisAnálise e Síntese de Algoritmos
Análise e Síntese de Algoritmos Revisão [CLRS, Cap. 7-10] 2014/2015 Contexto Revisão [CLRS, Cap.1-13] Fundamentos; notação; exemplos Algoritmos em Grafos [CLRS, Cap.21-26] Algoritmos elementares Árvores
Leia maisSolução de problemas por meio de busca (com Python) Luis Martí DEE/PUC-Rio http://lmarti.com
Solução de problemas por meio de busca (com Python) Luis Martí DEE/PUC-Rio http://lmarti.com Python e AI (Re)-introdução ao Python. Problemas de busca e principais abordagens. Exemplos em Python Por que
Leia maisINTRODUÇÃO À ENGENHARIA
INTRODUÇÃO À ENGENHARIA 2014 NOTA AULA PRÁTICA No. 04 VETORES - 20 A 26 DE MARÇO PROF. ANGELO BATTISTINI NOME RA TURMA NOTA Objetivos do experimento: Nesta aula você deverá aprender (ou recordar) a representação
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 maisLista 1. 8 de abril de Algorithms: Capítulo 0, exercícios 1 e 2. Tardos: Todos exercícios do cap 2 do livro texto, exceto 7 e 8 letra b.
Lista 1 8 de abril de 2013 1 Exercícios Básicos 1.1 Na bibliografia Algorithms: Capítulo 0, exercícios 1 e 2. Tardos: Todos exercícios do cap 2 do livro texto, exceto 7 e 8 letra b. 1.2 Outros 1. Projete
Leia maisAnálise de Algoritmos
Análise de Algoritmos Estes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof. José Coelho de Pina. Algoritmos p. 1 Introdução CLRS 2.2 e 3.1 AU 3.3, 3.4 e 3.6 Essas transparências foram
Leia maisFunção do 2º Grau. Alex Oliveira
Função do 2º Grau Alex Oliveira Apresentação A função do 2º grau, também chamada de função quadrática é definida pela expressão do tipo: y = f(x) = ax² + bx + c onde a, b e c são números reais e a 0. Exemplos:
Leia maisAlgoritmos 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 maisAlgoritmos de Aproximação Segundo Semestre de 2012
Algoritmos de Aproximação Segundo Semestre de 2012 Aproximação p. 1 Bin Packing Dados: n itens ([n] = {1,...,n}) Dados: comprimento a[i] do item i (i = 1,...,n) Aproximação p. 2 Bin Packing Dados: n itens
Leia maisLista de Exercícios - Potenciação
Nota: Os exercícios desta aula são referentes ao seguinte vídeo Matemática Zero 2.0 - Aula 14 - Potenciação ou Exponenciação - (parte 1 de 2) Endereço: https://www.youtube.com/watch?v=20lm2lx6r0g Gabaritos
Leia mais