5. Algoritmos de Ordenação
|
|
- Francisca Camelo Castelhano
- 6 Há anos
- Visualizações:
Transcrição
1 Introdução à Computação II Algoritmos de Ordenação Prof. Renato Tinós Depto. de Computação e Matemática (FFCLRP/USP) 1
2 Principais Tópicos 5.1. Ordenação por Inserção 5.2. Ordenação por Seleção 5.3. Método da Bolha 5.4. Heapsort 5.5. Quicksort Algoritmo de Partição Ordenação por Quicksort 5.6. Considerações sobre o Problema de Ordenação 5.7. Ordenação em Tempo Linear 2
3 5.5. Quicksort Desenvolvido por C. A. R. Hoare em 1960 É um algoritmo mais rápido que se conhece para diversas categorias de problemas A idéia básica é dividir o problema de ordenação de N registros em dois problemas menores Dividir para conquistar Baseada no fato que as permutações devem ser preferencialmente empregadas para pares de elementos que guardem entre si distâncias grandes, com a finalidade de se conseguir uma maior eficiência 3
4 5.5. Quicksort Por exemplo, se os N registros estão na ordem inversa de suas chaves, é possível ordená-los com apenas N/2 permutações tomando-se primeiramente os elementos das extremidades à direita e à esquerda e convergindo gradualmente para o centro, pelos dois lados Obviamente, isto é possível se os elementos estiverem exatamente na ordem inversa 4
5 5.5. Quicksort Exemplo a
6 5.5. Quicksort Exercício Escreva um algoritmo para inverter a ordem dos elementos de um vetor de N elementos 6
7 5.5. Quicksort Exercício Escreva um algoritmo para inverter a ordem dos elementos de um vetor de N elementos... para i 1 até i N/2 x a[i] a[i] a[n-i+1] a[n-i+1] x fim para... 7
8 Algoritmo de Partição Algoritmo de partição escolha-se arbitrariamente um elemento x do vetor a o vetor é varrido da esquerda para a direita, até que seja encontrado um elemento a[ i ] > x após isso, o vetor é varrido da direita para a esquerda até que seja encontrado um elemento a[ j ] < x nesta ocasião, os dois elementos serão permutados, e este processo de varredura e de permutação continua até que os dois deslocamentos se encontrem em algum ponto intermediário do vetor O resultado desta prática é um vetor particionado, no qual a partição esquerda contém apenas chaves cujos valores são menores (ou iguais) a x e a partição direita, apenas chaves cujos valores são maiores (ou iguais) a x 8
9 Algoritmo de Partição Seja x = Chaves menores ou iguais a x Chaves maiores ou iguais a x 9
10 Algoritmo de Partição... i 1 j N x selecionar um elemento aleatoriamente do vetor a faça { enquanto ( a[ i ] < x ) enquanto ( x < a[ j ] ) j j -1 se ( i j ) w a[ i ] a[ i ] a[ j ] a[ j ] w j j - 1 fim se } enquanto ( i j )... 10
11 Algoritmo de Partição... i 1 j N x selecionar um elemento aleatoriamente do vetor a faça { enquanto ( a[ i ] < x ) enquanto ( x < a[ j ] ) j j -1 se ( i j ) w a[ i ] a[ i ] a[ j ] a[ j ] w j j - 1 fim se } enquanto ( i j ) a Exemplo Partição para x = 43 x = 43 i N = j 11
12 Algoritmo de Partição... i 1 j N x selecionar um elemento aleatoriamente do vetor a faça { enquanto ( a[ i ] < x ) enquanto ( x < a[ j ] ) j j -1 se ( i j ) w a[ i ] a[ i ] a[ j ] a[ j ] w j j - 1 fim se } enquanto ( i j ) a Exemplo Partição para x = 43 x = 43 i N = j 12
13 Algoritmo de Partição... i 1 j N x selecionar um elemento aleatoriamente do vetor a faça { enquanto ( a[ i ] < x ) enquanto ( x < a[ j ] ) j j -1 se ( i j ) w a[ i ] a[ i ] a[ j ] a[ j ] w j j - 1 fim se } enquanto ( i j ) a Exemplo Partição para x = 43 x = 43 i N = j 13
14 Algoritmo de Partição... i 1 j N x selecionar um elemento aleatoriamente do vetor a faça { enquanto ( a[ i ] < x ) enquanto ( x < a[ j ] ) j j -1 se ( i j ) w a[ i ] a[ i ] a[ j ] a[ j ] w j j - 1 fim se } enquanto ( i j ) a Exemplo Partição para x = 43 x = 43 i N = j 14
15 Algoritmo de Partição... i 1 j N x selecionar um elemento aleatoriamente do vetor a faça { enquanto ( a[ i ] < x ) enquanto ( x < a[ j ] ) j j -1 se ( i j ) w a[ i ] a[ i ] a[ j ] a[ j ] w j j - 1 fim se } enquanto ( i j ) a Exemplo Partição para x = 43 x = 43 i N = j 15
16 Algoritmo de Partição... i 1 j N x selecionar um elemento aleatoriamente do vetor a faça { enquanto ( a[ i ] < x ) enquanto ( x < a[ j ] ) j j -1 se ( i j ) w a[ i ] a[ i ] a[ j ] a[ j ] w j j - 1 fim se } enquanto ( i j ) a Exemplo Partição para x = 43 x = 43 N = 8 i j 16
17 Algoritmo de Partição... i 1 j N x selecionar um elemento aleatoriamente do vetor a faça { enquanto ( a[ i ] < x ) enquanto ( x < a[ j ] ) j j -1 se ( i j ) w a[ i ] a[ i ] a[ j ] a[ j ] w j j - 1 fim se } enquanto ( i j ) a Exemplo Partição para x = 43 x = 43 N = 8 i j 17
18 Algoritmo de Partição... i 1 j N x selecionar um elemento aleatoriamente do vetor a faça { enquanto ( a[ i ] < x ) enquanto ( x < a[ j ] ) j j -1 se ( i j ) w a[ i ] a[ i ] a[ j ] a[ j ] w j j - 1 fim se } enquanto ( i j ) a Exemplo Partição para x = 43 x = 43 N = 8 j i
19 Algoritmo de Partição... i 1 j N x selecionar um elemento aleatoriamente do vetor a faça { enquanto ( a[ i ] < x ) enquanto ( x < a[ j ] ) j j -1 se ( i j ) w a[ i ] a[ i ] a[ j ] a[ j ] w j j - 1 fim se } enquanto ( i j ) a Exemplo Partição para x = 43 x = 43 N = 8 j i
20 Algoritmo de Partição... i 1 j N x selecionar um elemento aleatoriamente do vetor a faça { enquanto ( a[ i ] < x ) enquanto ( x < a[ j ] ) j j -1 se ( i j ) w a[ i ] a[ i ] a[ j ] a[ j ] w j j - 1 fim se } enquanto ( i j ) a Exemplo Partição para x = 43 x = 43 N = 8 j i 20
21 Algoritmo de Partição Exemplo Particione o vetor abaixo utilizando o algoritmo descrito para x = 45 x = 56 x = 12 x = 95 x = 19 x = 8 x = 67 a
22 Algoritmo de Partição Exemplo Solução x = 45 a
23 Algoritmo de Partição Exemplo Solução x = 56 a
24 Algoritmo de Partição Exemplo Solução x = 12 a
25 Algoritmo de Partição Exemplo Solução x = 95 a
26 Algoritmo de Partição Exemplo Solução x = 19 a
27 Algoritmo de Partição Exemplo Solução x = 8 a
28 Algoritmo de Partição Exemplo Solução x = 67 a
29 Algoritmo de Partição Exemplo Particione o vetor abaixo utilizando o algoritmo descrito para x = 45 a
30 Algoritmo de Partição Exemplo Solução a
31 Algoritmo de Partição Este algoritmo é bastante direto e eficiente Entretanto no caso das N chaves idênticas são necessárias N/2 permutações Permutações desnecessárias podem ser eliminadas trocando-se os comandos de varredura para enquanto ( a[ i ] x ) enquanto ( x a[ j ] ) j j -1 Neste caso, o elemento escolhido x, que está presente como elemento do vetor, já funcionará como sentinela para as duas varreduras Entretanto, um vetor que possuísse todas as suas chaves idênticas provocaria uma varredura para além da extensão do vetor, a menos que venham a ser utilizadas condições de término mais complexas A simplicidade das condições empregadas no algoritmo certamente compensam uma permutação extra, que dificilmente ocorre de fato na média dos casos reais de aplicação 31
32 Ordenação por Quicksort É necessário lembrar que o objetivo almejado não é só o de encontrar partições do vetor original, mas também ordená-lo Entretanto é simples o passo que leva à ordenação a partir do particionamento após ter sido particionado o vetor, aplica-se o mesmo processo para ambas as partições em seguida, para as partições oriundas de cada uma das partições obtidas e assim por diante, até que todas as partições consistam de apenas um único elemento. 32
33 Ordenação por Quicksort Algoritmo qsort( a[ ], L, R ) i L j R x a [ floor( (L + R ) / 2 ) ] faça { enquanto ( a[ i ] < x ) enquanto ( x < a[ j ] ) j j -1 se ( i j ) w a[ i ] a[ i ] a[ j ] a[ j ] w j j - 1 fim se } enquanto ( i j ) se ( L < j ) qsort( a, L, j ) fim se se ( i < R ) qsort( a, i, R ) fim se Algoritmo quicksort( a[ ], N ) qsort( a, 1, N ) Note que o procedimento qsort utiliza recursão 33
34 Ordenação por Quicksort Algoritmo qsort( a[ ], L, R ) i L j R x a [ floor( (L + R ) / 2 ) ] faça { enquanto ( a[ i ] < x ) enquanto ( x < a[ j ] ) j j -1 se ( i j ) w a[ i ] a[ i ] a[ j ] a[ j ] w j j - 1 fim se } enquanto ( i j ) se ( L < j ) qsort( a, L, j ) fim se se ( i < R ) qsort( a, i, R ) fim se x=43 x=19 x=8 x=56 x=95 a Algoritmo quicksort( a[ ], N ) qsort( a, 1, N ) L R L R L R L L R R 34
35 Ordenação por Quicksort Quick-sort with Hungarian (Küküllőmenti legényes) folk dance IMPORTANTE: O ALGORITMO DEMONSTRADO É UMA VARIAÇÃO DO APRESENTADO AQUI 35
36 Ordenação por Quicksort Admitindo-se que sempre ocorra o melhor caso (o limite escolhido é o ponto médio da partição), então em cada particionamento, o vetor é dividido em duas metades, o que resulta em O(log(N)) divisões, e, assim, a complexidade da ordenação será O(N log(n)) Está complexidade também é válida para o caso médio, já que, em média, as divisões no vetor são equilibradas Quanto ao pior caso, considere, por exemplo, a situação na qual o elemento x de comparação como sendo o maior dos valores de uma partição. Então, em cada passo, um segmento de N elementos será dividido em uma partição esquerda com N-1 elementos e uma partição direita com um único elemento O resultado é que são necessários O(N) (ao invés de O(log(N))) divisões e que o desempenho para o pior caso é O(N 2 ) 36
37 Ordenação por Quicksort Exercício Utilizando ordenação pelo método quicksort, obtenha o número de comparações e movimentações em cada passo (i e j) para os seguintes vetores [ ] [ ] [ ] [ ] 37
38 Exercício Solução Ordenação por Quicksort i j Ci Mi i j Ci Mi i j Ci Mi i j Ci Mi
39 Principais Tópicos 5.1. Ordenação por Inserção 5.2. Ordenação por Seleção 5.3. Método da Bolha 5.4. Heapsort 5.5. Quicksort Algoritmo de Partição Ordenação por Quicksort 5.6. Considerações sobre o Problema de Ordenação 39
40 5.6. Considerações Sobe o Problema de Ordenação Análise dos Algoritmos de Ordenação Considerando os algoritmos de ordenação vistos, a tabela seguinte mostra a ordem de grandeza de números mínimo (C mín ), médio (C med ) e máximo (C max ) de comparações de chaves números mínimo (M mín ), médio (M med ) e máximo (M max ) de movimentos de chaves. Algoritmo C mín C méd C máx M mín M méd M máx Inserção Direta O(N) O(N 2 ) O(N 2 ) O(N) O(N 2 ) O(N 2 ) Inserção Binária O(N*log 2 N) O(N*log 2 N) O(N*log 2 N) O(N) O(N 2 ) O(N 2 ) Seleção Direta O(N 2 ) O(N 2 ) O(N 2 ) O(N) O(N) O(N) Bubblesort O(N 2 ) O(N 2 ) O(N 2 ) O(1) O(N 2 ) O(N 2 ) Shakersort O(N) O(N 2 ) O(N 2 ) O(1) O(N 2 ) O(N 2 ) Heapsort O(N*log 2 N) O(N*log 2 N) O(N*log 2 N) O(N*log 2 N) O(N*log 2 N) O(N*log 2 N) Quicksort O(N*log 2 N) O(N*log 2 N) O(N 2 ) O(N*log 2 N) O(N*log 2 N) O(N 2 ) 40
41 Comparações Quadro Geral: Comparações 5.6. Considerações Sobe o Problema de Ordenação ,56,12,43,95,19,8,67 8,12,19,43,45,56,67,95 95,67,56,45,43,19,12,8 19,12,8,45,43,56,67, Inserção Direta Inserção Binária Seleção Direta Borbulhamento Agitação Shellsort Quicksort Heapsort 41
42 Movimentações Quadro Geral: Movimentações 5.6. Considerações Sobe o Problema de Ordenação ,56,12,43,95,19,8,67 8,12,19,43,45,56,67,95 95,67,56,45,43,19,12,8 19,12,8,45,43,56,67, Inserção Direta Inserção Binária Seleção Direta Borbulhamento Agitação Shellsort Quicksort Heapsort 42
43 5.6. Considerações Sobe o Problema de Ordenação Análise dos Algoritmos de Ordenação [Ziviani, 2004]: Tempo total real para ordenar arranjos de registros (os valores estão normalizados de acordo com o tempo do método que foi mais rápido) Registros em ordem aleatória Inserção Direta 11, Seleção 16, ShellSort 1,2 1,6 1,7 2 Heapsort 1,5 1,6 1,6 1,6 Quicksort Registros em ordem ascendente Inserção Direta Seleção ShellSort 3,9 6,8 7,3 8,1 Heapsort 12,2 20,8 22,4 24,6 Quicksort 4,1 6,3 6,8 7,1 Registros em ordem descendente Inserção Direta 40, Seleção 29, ShellSort 1,5 1,5 1,6 1,6 Heapsort 2,5 2,7 2,7 2,9 Quicksort
44 5.6. Considerações Sobe o Problema de Ordenação Análise dos Algoritmos de Ordenação [Ziviani, 2004], páginas Inserção Interessante para arquivos com menos de 20 elementos Estável Implementação simples Para arquivos ordenados, é O(n) Seleção Números de movimentação é O(n)» Deve ser usado para arquivos com registros grandes (estruturas com muitos elementos), desde que não exceda 1000 elementos 44
45 5.6. Considerações Sobe o Problema de Ordenação Análise dos Algoritmos de Ordenação [Ziviani, 2004], páginas Quicksort É o algoritmo mais eficiente para uma grande variedade de situações É recursivo» Utiliza memória adicional Entretanto, seu desempenho no pior caso é O (n 2 ) 45
46 5.6. Considerações Sobe o Problema de Ordenação Análise dos Algoritmos de Ordenação [Ziviani, 2004], páginas Heapsort Método eficiente, mas cerca de duas vezes mais lento que o Quicksort No entanto, não utiliza memória adicional Tempo proporcional a n log n, qualquer que seja a ordem inicial dos elementos» Aplicações que devem ser executadas em tempo praticamente igual podem utilizar Heapsort 46
47 5.6. Considerações Sobe o Problema de Ordenação Com que Velocidade podemos ordenar para o caso geral? Qualquer algoritmo de ordenação baseado em comparações pode ser visto como uma árvore de decisão, onde os nós internos representam uma comparação de chaves as arestas indicam o resultado do teste (verdadeiro ou falso) e os nós folhas (terminais) representam o resultado final do processo de ordenação 47
48 5.6. Considerações Sobe o Problema de Ordenação Árvore de Decisão (3 elementos) a[1] <= a[2] Sim a[1],a[2],a[3] Não a[2] <= a[3] a[1],a[2],a[3] a[1] <= a[3] a[2],a[1],a[3] Sim Não Sim Não a[1],a[3],a[2] a[2],a[3],a[1] a[1],a[2],a[3] a[1] <= a[3] a[2],a[1],a[3] a[2] <= a[3] Sim Não Sim Não a[1],a[3],a[2] a[3],a[1],a[2] a[2],a[3],a[1] a[3],a[2],a[1] 48
49 5.6. Considerações Sobe o Problema de Ordenação Com que velocidade podemos ordenar para o caso geral? Ordenando N elementos: N! resultados possíveis A árvore deve ter N! folhas Como uma árvore binária de altura h tem, no máximo, 2 h folhas, sabemos que N! 2 h h log 2 (N!) Portanto qualquer árvore de decisões que classifica N elementos distintos tem uma altura mínima log 2 (N!) Sabendo que (pois pelo menos N/2 termos do produto são maiores que N/2) N! = N(N-1)(N-2)...(2)(1) (N/2) N/2 Então log 2 (N!) (N/2)log 2 (N/2) = O(N log 2 N) Ou seja, a melhor complexidade possível, para o caso geral (i.e., para qualquer tipo de chave e com qualquer distribuição de ocorrências) é O( N log 2 N ) 49
Métodos de Ordenação
Métodos de Ordenação Conceitos básicos sobre ordenação Ordenar corresponde ao processo de rearranjar um conjunto de objetos em uma ordem específica. Objetivo da ordenação: facilitar a recuperação posterior
Leia 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 maisMétodos de Ordenação Parte 3
Estrutura de Dados II Métodos de Ordenação Parte 3 Prof a Márcio Bueno ed2tarde@marciobueno.com / ed2noite@marciobueno.com Material baseado nos materiais do Prof. Robson Lins Classificação em Memória Primária
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 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 maisQuickSort. Estrutura de Dados II Jairo Francisco de Souza
QuickSort Estrutura de Dados II Jairo Francisco de Souza Particionamento Mecanismo principal dentro do algoritmo do QuickSort Para particionar um determinado conjunto de dados, separamos de um lado todos
Leia maisOrdenação em Memória Primária Estrutura de Dados II
- Centro de Ciências Exatas, Naturais e de Saúde Departamento de Computação Ordenação em Memória Primária Estrutura de Dados II Estrutura de Dados II COM10078-2017-I Prof. Marcelo Otone Aguiar marcelo.aguiar@ufes.br
Leia maisQuicksort. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR
Quicksort David Menotti Algoritmos e Estruturas de Dados II DInf UFPR Quicksort Proposto por Hoare em 1960 e publicado em 1962. É o algoritmo de ordenação interna mais rápido que se conhece para uma ampla
Leia maisBusca em Memória Primária Estrutura de Dados II
Centro de Ciências Exatas, Naturais e de Saúde Departamento de Computação Busca em Memória Primária Estrutura de Dados II Estrutura de Dados II COM10078 2017-I Prof. Marcelo Otone Aguiar marcelo.aguiar@ufes.br
Leia maisEstruturas 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
Leia maisExistem 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
Leia maisQuickSort. Algoritmos e Estruturas de Dados Verão Cátia Vaz 1
QuickSort Algoritmos e Estruturas de Dados Verão 2012 1 QuickSort Algoritmo do tipo dividir para conquistar Ideia do algoritmo: efectuar partição dos dados e ordenar as várias partes independentemente
Leia maisO mais leve e o mais pesado Algoritmos de Ordenação
Atividade 7 O mais leve e o mais pesado Algoritmos de Ordenação Sumário Os computadores são muitas vezes utilizados para colocar listas em algum tipo de ordem, por exemplo, nomes em ordem alfabética, compromissos
Leia maisINF111 Programação II Aulas 11, 12, 13 Ordenação
INF Programação II Aulas,, Ordenação Departamento de Informática UFV Ordenação A ordenação é o processo de organizar um conunto (vetor) de n obetos ou registros segundo uma determinada ordem crescente
Leia maisQuicksort [1] Quicksort [2]
Quicksort [1] Provavelmente o algoritmo mais usado inventado nos anos 60 muito estudado e analisado desempenho bem conhecido popular devido à facilidade de implementação e eficiência complexidade N log
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 maisQuicksort Letícia Rodrigues Bueno
Quicksort Letícia Rodrigues Bueno UFABC Quicksort Legenda: pivô; 1 a partição: ; 2 a partição: Quicksort Legenda: pivô; 1 a partição: ; 2 a partição: Quicksort Legenda: pivô; 1 a partição: ; 2 a partição:
Leia maisComplexidade Assintótica de Programas Letícia Rodrigues Bueno
Complexidade Assintótica de Programas Letícia Rodrigues Bueno Análise de Algoritmos 1. Introdução; Análise de Algoritmos 1. Introdução; 2. Conceitos básicos; Análise de Algoritmos 1. Introdução; 2. Conceitos
Leia maisMétodo BubbleSort. Estrutura de Dados II Prof Jairo Francisco de Souza
Método BubbleSort Estrutura de Dados II Prof Jairo Francisco de Souza Introdução Ordenar corresponde ao processo de reorganizar um conjunto de objetos em uma ordem ascendente ou descendente Consiste em
Leia maisMC102 - Algoritmos e programação de computadores. Aula 16: Busca e Ordenação em vetores
MC102 - Algoritmos e programação de computadores Aula 16: Busca e Ordenação em vetores Busca Dada uma coleção de n elementos, pretende-se saber se um determinado elemento valor está presente nessa coleção.
Leia maisAlgoritmos e Estruturas de Dados II. Ordenação
Algoritmos e Estruturas de Dados II Ordenaçã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 Sumário Introdução:
Leia maisAlgoritmos e Estruturas de Dados I1 Prof. Eduardo 1
Algoritmos e Estruturas de Dados I1 Prof. Eduardo 1 ORDENAÇÃO E BUSCA Ordenação: Bublesort, seleção direta e inserção direta. Busca: linear e binária 1 - ORDENAÇÃO (CLASSIFICAÇÃO) DE DADOS Em diversas
Leia maisMemória secundária. Memória secundária
introdução ordenação interna ordenação externa ordenar processo de rearranjar um conjunto de itens em uma ordem ascendente ou descendente visa facilitar a recuperação posterior de itens do conjunto ordenado
Leia mais7. Introdução à Complexidade de Algoritmos
7. Introdução à Complexidade de Algoritmos Fernando Silva DCC-FCUP Estruturas de Dados Fernando Silva (DCC-FCUP) 7. Introdução à Complexidade de Algoritmos Estruturas de Dados 1 / 1 Análise de Algoritmos
Leia maisBanco de Dados. Métodos de Ordenação de Dados. Prof. Walteno Martins Parreira Jr
Banco de Dados Métodos de Ordenação de Dados Prof. Walteno Martins Parreira Jr www.waltenomartins.com.br waltenomartins@yahoo.com 2015 Ordenação de Dados Ordenação é o ato de se colocar os elementos de
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 Árvore digital Árvore digital binária
Leia maisUniversidade da Madeira. 1. Recursão. 3. Busca. Profa. Dra. Laura Rodríguez Estruturas de dados e algoritmos 2
Profa. Dra. Laura Rodríguez E-mail: lmrodrig@uma.pt Universidade da Madeira 1. Recursão 2. Ordenação 3. Busca Profa. Dra. Laura Rodríguez Estruturas de dados e algoritmos 2 1 1. Recursão 2. Ordenação 3.
Leia maisO Problema da Ordenação Métodos de Ordenação Parte 1
Métodos de Ordenação Parte 1 SCC-201 Introdução à Ciência da Computação II Rosane Minghim 2010 Ordenação (ou classificação) é largamente utilizada Listas telefônicas e dicionários Grandes sistemas de BD
Leia maisDepartamento de Engenharia Rural Centro de Ciências Agrárias. Programação I
Departamento de Engenharia Rural Centro de Ciências Agrárias Programação I Algoritmos de busca Basicamente podem ser citadas duas estratégias para procurar (ou buscar) algo em uma coleção de dados: Busca
Leia maisOrdenação Externa. Ordenação Externa. Ordenação Externa. Ordenação Externa
Ordenação Externa Ordenação Externa Estrutura de Dados II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação
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 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 maisPesquisa 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,
Leia maisAnálise e Projeto de Algoritmos
Análise e Projeto de Algoritmos Mestrado em Ciência da Computação Prof. Dr. Aparecido Nilceu Marana Faculdade de Ciências I think the design of efficient algorithms is somehow the core of computer science.
Leia maisUniversidade Federal do Espírito Santo
Universidade Federal do Espírito Santo Eliezer de Souza da Silva Estudo Comparativo de Algoritmos de Ordenação SÃO MATEUS 2010 Universidade Federal do Espírito Santo Eliezer de Souza da Silva Estudo Comparativo
Leia maisBCC202 - Estrutura de Dados I
BCC202 - Estrutura de Dados I Aula 15: Ordenação: ShellSort Reinaldo Fortes Universidade Federal de Ouro Preto, UFOP Departamento de Computação, DECOM Website: www.decom.ufop.br/reifortes Email: reifortes@iceb.ufop.br
Leia mais3. Conteúdo de um vértice v é conteúdo dos filhos de v.
Árvore Hierárquica Em inglês é chamada de Heap. Representar: conjunto C de elementos com relação. Operações: Ins x,c (inserir x em C e ExMax C (extrair o máximo do conjunto). Chamado também de Fila de
Leia maisOrdenação de Dados (III) HeapSort
UFSC-CTC-INE INE53 - Estruturas de Dados Ordenação de Dados (III) Prof. Ronaldo S. Mello 00/ HeapSort HeapSort também é um método de seleção ordena através de sucessivas seleções do elemento correto a
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 maisMedida do Tempo de Execução de um Programa. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR
Medida do Tempo de Execução de um Programa David Menotti Algoritmos e Estruturas de Dados II DInf UFPR Classes de Comportamento Assintótico Se f é uma função de complexidade para um algoritmo F, então
Leia maisINF1007: Programação 2 7 Busca em Vetores. 01/04/2014 (c) Dept. Informática - PUC-Rio 1
INF1007: Programação 2 7 Busca em Vetores 01/04/2014 (c) Dept. Informática - PUC-Rio 1 Tópicos Principais Busca em vetor Busca linear Busca binária 01/04/2014 (c) Dept. Informática - PUC-Rio 2 Busca em
Leia maisÁ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ó
Leia maisQuantidade de memória necessária
Tempo de processamento Um algoritmo que realiza uma tarefa em 10 horas é melhor que outro que realiza em 10 dias Quantidade de memória necessária Um algoritmo que usa 1MB de memória RAM é melhor que outro
Leia maisPESQUISA EM INFORMÁTICA - COMO ESCREVER UM TEXTO. Prof. Angelo Augusto Frozza, M.Sc.
PESQUISA EM INFORMÁTICA - COMO ESCREVER UM TEXTO Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza JUSTIFICATIVA A adoção de um método para escrever seus trabalhos ajuda a evitar uma série de
Leia maisProgramação de Computadores II. Cap. 17 Busca
Programação de Computadores II Cap. 17 Busca Livro: Waldemar Celes, Renato Cerqueira, José Lucas Rangel. Introdução a Estruturas de Dados, Editora Campus (2004) Slides adaptados dos originais dos profs.:
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 maisSUMÁRIO. Fundamentos Árvores Binárias Árvores Binárias de Busca
ÁRVORES SUMÁRIO Fundamentos Árvores Binárias Árvores Binárias de Busca 2 ÁRVORES Utilizadas em muitas aplicações Modelam uma hierarquia entre elementos árvore genealógica Diagrama hierárquico de uma organização
Leia maisORDENAÇÃO E BUSCA 1. MÉTODOS DE ORDENAÇÃO
ORDENAÇÃO E BUSCA Em computação, freqüentemente, armazenamos dados que, mais tarde, precisam ser recuperados. Como veremos, a eficiência na busca de informações depende, essencialmente, da ordem em que
Leia maisFACULDADE CAMPO LIMPO PAULISTA BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO. Projeto a Análise de Algoritmos I Lista de Exercícios 1
FACULDADE CAMPO LIMPO PAULISTA BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO Projeto a Análise de Algoritmos I Lista de Exercícios 1 Prof. Osvaldo. 1. Descreva alguns problemas associados ao emprego de metodologias
Leia maisComplexidade de Algoritmos
Complexidade de Algoritmos 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 08/2008 Material baseado
Leia maisEDUARDO DA SILVA SARDÃO 0981/00-4 IGOR RODRIGO MACHADO DE MENEZES 1422/98-1 TRABALHO FINAL ÁRVORES B+
1 UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA - CIÊNCIA DA COMPUTAÇÃO DEPARTAMENTO DE INFORMÁTICA APLICADA CLASSIFICAÇÃO E PESQUISA DE DADOS INF01124 EDUARDO DA SILVA SARDÃO 0981/00-4
Leia mais2. Ordenação por Seleção
1 Algoritmos de Ordenação Simples (SelectionSort, InsertionSort, BubbleSort) 1. Introdução Objetivo: Determinar a seqüência ordenada dos elementos de um vetor numérico. Algumas considerações: O espaço
Leia maisVença o relógio Redes de Ordenação
Atividade 8 Vença o relógio Redes de Ordenação Sumário Mesmo os computadores sendo rápidos, há um limite na sua velocidade de resolução de problemas. Uma forma de acelerar as coisas é usar vários computadores
Leia maisLista de exercícios sobre contagem de operações Prof. João B. Oliveira
Lista de exercícios sobre contagem de operações Prof. João B. Oliveira 1. metodo m ( Vetor V ) int i, res = 0; para i de 1 a V.size res = res + V[i]; return res; Soma de elementos de um vetor, O( ). 2.
Leia maisComplexidade de Algoritmos
Complexidade de Algoritmos! Uma característica importante de qualquer algoritmo é seu tempo de execução! é possível determiná-lo através de métodos empíricos, considerando-se entradas diversas! é também
Leia maisIntrodução Métodos de Busca Parte 1
Introdução Métodos de Busca Parte 1 SCC-201 Introdução à Ciência da Computação II Rosane Minghim 2009 Importância em estudar busca Busca é uma tarefa muito comum em computação? Vários métodos e estruturas
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 maisSimulador didático de testes de algoritmos de ordenação
UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA Simulador didático de testes de algoritmos de ordenação Nomes: Bruno Silva Guedes (159033) Matheus de Carvalho Proença (160184) Turma:
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 maisÁrvores B Parte III. Propriedades, Remoção & Inserção Revisitada. Adaptado e Estendido dos Originais de:
Estruturas de Dados Prof. Ricardo J. G. B. Campello Árvores B Parte III Propriedades, Remoção & Inserção Revisitada Adaptado e Estendido dos Originais de: Leandro C. Cintra Maria Cristina F. de Oliveira
Leia maisAprendendo a Programar Programando numa Linguagem Algorítmica Executável (ILA)
Jaime Evaristo Sérgio Crespo Aprendendo a Programar Programando numa Linguagem Algorítmica Executável (ILA) Segunda Edição Capítulo 7 Versão 13052010 7. Pesquisa e Ordenação 7.1 Introdução Embora os problemas
Leia maisProgramação II. Árvores Binárias (Binary Trees) Bruno Feijó Dept. de Informática, PUC-Rio
Programação II Árvores Binárias (Binary Trees) Bruno Feijó Dept. de Informática, PUC-Rio Árvores Dados organizados de maneira hierárquica Exemplos: arquivos em diretórios, subdivisão de espaço 2D em um
Leia maisBCC202 - 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 maisDAINF - Departamento de Informática
DAINF - Departamento de Informática Algoritmos 2 - Árvore binária de busca Prof. Alex Kutzke ( http://alex.kutzke.com.br/courses ) 30 de Novembro de 2015 Slides adaptados do material produzido pelo Prof.
Leia maisIntrodução à Análise de Algoritmos
Quanto tempo leva a execução de determinado algoritmo? Quando temos dois algoritmos que fazem a mesma coisa, qual deles leva menos tempo? A análise do algoritmo preocupa-se com as questões acima. É sempre
Leia maisAlgoritimos e Estruturas de Dados III CIC210
Algoritimos e Estruturas de Dados III CIC210 Divisão e Conquista Haroldo Gambini Santos Concurso Universidade Federal de Ouro Preto - UFOP 3 de setembro de 2009 Haroldo Gambini Santos Divisão e Conquista
Leia maisAula 19 Conjuntos disjuntos (Union-find)
MC3305 Algoritmos e Estruturas de Dados II Aula 19 Conjuntos disjuntos (Union-find) Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 2Q-2015 1 Números de Ackermann 2 3 Ackermann A função de Ackermann
Leia maisO conjunto de registros pode ser: Um vetor de registros Uma lista encadeada Uma árvore Etc.
Método de Busca O problema da busca (ou pesquisa) - Dado um conjunto de elementos, onde cada um é identificado por uma chave, o objetivo da busca é localizar, nesse conjunto, o elemento que corresponde
Leia maisAlgoritmos de Ordenação e Pesquisa. Marco Antonio Moreira de Carvalho Algoritmos e Estrutura de Dados
Algoritmos de Ordenação e Pesquisa Marco Antonio Moreira de Carvalho Algoritmos e Estrutura de Dados Bibliografia Básica l Cormen, Leiserson, Rivest. Introduction to Algorithms. 2nd edition. MIT Press,
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 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 maisProjeto de Algoritmos e Indução Matemática
Capítulo 3 Projeto de Algoritmos e Indução Matemática Um algoritmo é uma descrição precisa de um método para a resolução de determinado problema. Este capítulo apresenta a relação entre a prova de teoremas
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 maisLinguagem Haskell. Maria Adriana Vidigal de Lima
de Valores em Haskell Linguagem Haskell Faculdade de Computação - UFU Dezembro - 2009 de Valores em Haskell 1 de Valores em Haskell Técnicas de por Seleção por Inserção Rápida por Bolha de Valores em Haskell
Leia maisMétodos de Pesquisa de Dados (II) Árvore N-ária de Pesquisa
UFSC-CTC-INE INE5384 - Estruturas de Dados Métodos de Pesquisa de Dados (II) Prof. Ronaldo S. Mello 2002/2 Árvore N-ária de Pesquisa Uma Árvore N-ária de Pesquisa (ANP) é uma árvore que: contém m subárvores
Leia maisEstruturas de Dados. Módulo 17 - Busca. 2/6/2005 (c) Dept. Informática - PUC-Rio 1
Estruturas de Dados Módulo 17 - Busca 2/6/2005 (c) Dept. Informática - PUC-Rio 1 Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora Campus (2004)
Leia maisMedida do Tempo de Execução de um Programa. Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP
Medida do Tempo de Execução de um Programa Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP Medida do Tempo de Execução de um Programa O projeto de algoritmos é fortemente influenciado pelo estudo
Leia maisTrabalho: Algoritmos de Busca e Ordenação. 1 Introdução. Prof. Bruno Emerson Gurgel Gomes IFRN - Câmpus Currais Novos. 31 de outubro de 2012
Trabalho: Algoritmos de Busca e Ordenação Prof. Bruno Emerson Gurgel Gomes IFRN - Câmpus Currais Novos 31 de outubro de 2012 1 Introdução Os algoritmos de busca e de ordenação compreendem um conjunto de
Leia maisArquivos Sequenciais Ordenados Fisicamente
Arquivos Sequenciais Ordenados Fisicamente Estrutura de Dados II Aula 05 UFS - DComp Adaptados a partir do material da Profa. Kenia Kodel Cox Arquivos Sequenciais Podem ser: 1. Desordenados 2. Ordenados,
Leia maisTeoria dos Grafos Aula 24
Teoria dos Grafos Aula 24 Aula passada Caminho mais curto entre todos os pares Algortimo de Floyd Warshall Programação dinâmica Aula de hoje Caminho mais curto em grafos Algoritmo de Bellman Ford Algoritmo
Leia maisAlgoritmos. para concursos. Questões comentadas
Algoritmos para concursos Questões comentadas Prefácio Um algoritmo é um conjunto de operações em sequência para resolver determinado problema. A noção de algoritmo é extremamente importante para a computação.
Leia maisBC1424 Algoritmos e Estruturas de Dados I Aula 05 Custos de um algoritmo e funções de complexidade
BC1424 Algoritmos e Estruturas de Dados I Aula 05 Custos de um algoritmo e funções de complexidade Prof. Jesús P. Mena-Chalco 1Q-2016 1 1995 2015 2 Custo de um algoritmo e funções de complexidade Introdução
Leia maisEstruturas de Dados 2
Estruturas de Dados 2 Recorrências IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 1/31 Recorrências Análise da Eficiência de Algoritmos: Velocidade de Execução; Análise
Leia maisAula 3 Listas Lineares Sequenciais Ordenadas. prof Leticia Winkler
Aula 3 Listas Lineares Sequenciais Ordenadas prof Leticia Winkler 1 Listas Lineares Sequenciais Ordenadas Elementos da lista estão dispostos num vetor (contíguos na memória) e ordenado de acordo com alguma
Leia 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 maisMétodo de ordenação - objetivos:
Método de ordenação - objetivos: Corresponde ao processo de rearranjar um conjunto de objetos em uma ordem ascendente ou descendente. Facilitar a recuperação posterior de itens do conjunto ordenado. São
Leia maisESTRUTURA DE DADOS (TCC )
ESTRUTURA DE DADOS (TCC-00.319) Listas lineares Cristina Boeres 2 Estrutura de Dados! Listas lineares! estática! dinâmicas! Como manipulá-las:! pilhas! filas Listas Lineares 3! fácil manipulação! agrupa
Leia maisTeoria da Computação. Aula 9 Pesquisa em Memória Secundária 5COP096. Aula 9 Prof. Dr. Sylvio Barbon Junior. Sylvio Barbon Jr
5COP096 Teoria da Computação Aula 9 Prof. Dr. Sylvio Barbon Junior Sylvio Barbon Jr barbon@uel.br 1 Sumário 1) Introdução à Pesquisa em Memória Secundária 2) Modelo de Computação para Memória Secundária
Leia maisListas de Prioridade. Fonte de consulta: Szwarcfiter, J.; Markezon, L. Estruturas de Dados e seus Algoritmos, 3a. ed. LTC.
Listas de Prioridade Fonte de consulta: Szwarcfiter, J.; Markezon, L. Estruturas de Dados e seus Algoritmos, 3a. ed. LTC. Capítulo 6 Prioridade } Algumas aplicações precisam recuperar rapidamente um dado
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 maisTeoria dos Grafos Aula 8
Teoria dos Grafos Aula 8 Aula passada Classe de funções e notação Propriedades da notação Funções usuais Aula de hoje Grafos direcionados Busca em grafos direcionados Ordenação topológica Tempo de execução
Leia maisTópicos Avançados em Algoritmos
Tópicos Avançados em Algoritmos Armando Matos 2008 Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto 2 Tópicos Avançados de Algoritmos Armando B. Matos DCC-FC-UP 2009
Leia maisDefinição. Árvores B Parte III. Propriedades Gerais. Propriedade (No. Mín. de Chaves) Leandro C. Cintra Maria Cristina F.
Algoritmos e Estruturas de Dados II Prof. Ricardo J. G. B. Campello Árvores B Parte III Eliminação, Redistribuição & Concatenação Adaptado e Estendido dos Originais de: Leandro C. Cintra Maria Cristina
Leia maisEstruturas de Dados 2
Estruturas de Dados 2 Análise Empírica de Algoritmos IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 1/13 Análise da Eficiência de Algoritmos: Velocidade de Execução;
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 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 mais3 Plano de Execução de Consultas
Sumário 1 Introdução ao Processamento de Consultas 2 Otimização de Consultas 3 Plano de Execução de Consultas 4 Introdução a Transações 5 Recuperação de Falhas 6 Controle de Concorrência 7 Fundamentos
Leia maisDivisão e Conquista. Norton T. Roman. Apostila baseada nos trabalhos de Cid de Souza, Cândida da Silva e Delano M. Beder
Divisão e Conquista Norton T. Roman Apostila baseada nos trabalhos de Cid de Souza, Cândida da Silva e Delano M. Beder Divisão e Conquista Construção incremental Ex: Consiste em, inicialmente, resolver
Leia maisAnálise de Algoritmos
Análise de Algoritmos Parte 1 Prof. Túlio Toffolo http://www.toffolo.com.br BCC202 Aula 04 Algoritmos e Estruturas de Dados I Qual a diferença entre um algoritmo e um programa? Como escolher o algoritmo
Leia maisHashing: conceitos. Hashing
Hashing: conceitos hashing é uma técnica conhecida como espalhamento, mapeamento ou randomização que tenta distribuir dados em posições aleatórias de uma tabela (array) associa cada objeto (de um determinado
Leia mais