SlideShare uma empresa Scribd logo
1 de 96
Baixar para ler offline
Aula 13 – Algoritmos de Ordena¸c˜ao:
Modelo Incremental e Cota Inferior
Norton Trevisan Roman
norton@usp.br
2 de outubro de 2018
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 1 / 25
Projeto por Indu¸c˜ao Simples
Terceira Alternativa
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 2 / 25
Projeto por Indu¸c˜ao Simples
Terceira Alternativa
Base: n = 1. Um ´unico elemento est´a ordenado
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 2 / 25
Projeto por Indu¸c˜ao Simples
Terceira Alternativa
Base: n = 1. Um ´unico elemento est´a ordenado
H.I.: Sei ordenar um conjunto de n − 1 ≥ 1 valores
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 2 / 25
Projeto por Indu¸c˜ao Simples
Terceira Alternativa
Base: n = 1. Um ´unico elemento est´a ordenado
H.I.: Sei ordenar um conjunto de n − 1 ≥ 1 valores
Passo:
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 2 / 25
Projeto por Indu¸c˜ao Simples
Terceira Alternativa
Base: n = 1. Um ´unico elemento est´a ordenado
H.I.: Sei ordenar um conjunto de n − 1 ≥ 1 valores
Passo:
Seja S um conjunto de n ≥ 2 valores, e x o maior elemento
de S
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 2 / 25
Projeto por Indu¸c˜ao Simples
Terceira Alternativa
Base: n = 1. Um ´unico elemento est´a ordenado
H.I.: Sei ordenar um conjunto de n − 1 ≥ 1 valores
Passo:
Seja S um conjunto de n ≥ 2 valores, e x o maior elemento
de S
Ent˜ao x certamente ´e o ´ultimo elemento da sequˆencia
ordenada de S. Por hip´otese de indu¸c˜ao, sabemos ordenar os
demais S − x elementos, e assim obtemos S ordenado
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 2 / 25
Projeto por Indu¸c˜ao Simples
Terceira Alternativa
Base: n = 1. Um ´unico elemento est´a ordenado
H.I.: Sei ordenar um conjunto de n − 1 ≥ 1 valores
Passo:
Seja S um conjunto de n ≥ 2 valores, e x o maior elemento
de S
Ent˜ao x certamente ´e o ´ultimo elemento da sequˆencia
ordenada de S. Por hip´otese de indu¸c˜ao, sabemos ordenar os
demais S − x elementos, e assim obtemos S ordenado
Varia¸c˜ao do M´etodo da Sele¸c˜ao
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 2 / 25
Projeto por Indu¸c˜ao Simples
No entanto, se
implementarmos
de uma forma
diferente a sele¸c˜ao
e o posicionamento
do maior elemento,
obteremos o
algoritmo da Bolha
(Bubble Sort):
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 3 / 25
Projeto por Indu¸c˜ao Simples
No entanto, se
implementarmos
de uma forma
diferente a sele¸c˜ao
e o posicionamento
do maior elemento,
obteremos o
algoritmo da Bolha
(Bubble Sort):
Bolha(A, n):
Entrada: Arranjo A de n valores
Sa´ıda: Aranjo A ordenado.
para i = n - 1 at´e 1 fa¸ca:
para j = 1 at´e i fa¸ca:
se A[j-1] > A[j] ent~ao
t = A[j-1]
A[j-1] = A[j]
A[j] = t
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 3 / 25
Projeto por Indu¸c˜ao Simples
M´etodo da Bolha (iterativo)
Usando a
nota¸c˜ao O,
quantas
compara¸c˜oes
no arranjo s˜ao
feitas no pior
caso?
Bolha(A, n):
para i = n - 1 at´e 1 fa¸ca:
para j = 1 at´e i fa¸ca:
se A[j-1] > A[j] ent~ao
t = A[j-1]
A[j-1] = A[j]
A[j] = t
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 4 / 25
Projeto por Indu¸c˜ao Simples
M´etodo da Bolha (iterativo)
Usando a
nota¸c˜ao O,
quantas
compara¸c˜oes
no arranjo s˜ao
feitas no pior
caso?
Bolha(A, n):
para i = n - 1 at´e 1 fa¸ca:
para j = 1 at´e i fa¸ca:
se A[j-1] > A[j] ent~ao
t = A[j-1]
A[j-1] = A[j]
A[j] = t
O(n)
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 4 / 25
Projeto por Indu¸c˜ao Simples
M´etodo da Bolha (iterativo)
Usando a
nota¸c˜ao O,
quantas
compara¸c˜oes
no arranjo s˜ao
feitas no pior
caso?
Bolha(A, n):
para i = n - 1 at´e 1 fa¸ca:
para j = 1 at´e i fa¸ca:
se A[j-1] > A[j] ent~ao
t = A[j-1]
A[j-1] = A[j]
A[j] = t
O(n) × O(n)
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 4 / 25
Projeto por Indu¸c˜ao Simples
M´etodo da Bolha (iterativo)
Usando a
nota¸c˜ao O,
quantas
compara¸c˜oes
no arranjo s˜ao
feitas no pior
caso?
Bolha(A, n):
para i = n - 1 at´e 1 fa¸ca:
para j = 1 at´e i fa¸ca:
se A[j-1] > A[j] ent~ao
t = A[j-1]
A[j-1] = A[j]
A[j] = t
O(n) × O(n) = O(n2
)
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 4 / 25
Projeto por Indu¸c˜ao Simples
M´etodo da Bolha (iterativo)
E quantas
trocas de
elementos s˜ao
feitas no arranjo
no pior caso?
Bolha(A, n):
para i = n - 1 at´e 1 fa¸ca:
para j = 1 at´e i fa¸ca:
se A[j-1] > A[j] ent~ao
t = A[j-1]
A[j-1] = A[j]
A[j] = t
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 5 / 25
Projeto por Indu¸c˜ao Simples
M´etodo da Bolha (iterativo)
E quantas
trocas de
elementos s˜ao
feitas no arranjo
no pior caso?
Bolha(A, n):
para i = n - 1 at´e 1 fa¸ca:
para j = 1 at´e i fa¸ca:
se A[j-1] > A[j] ent~ao
t = A[j-1]
A[j-1] = A[j]
A[j] = t
O(n)
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 5 / 25
Projeto por Indu¸c˜ao Simples
M´etodo da Bolha (iterativo)
E quantas
trocas de
elementos s˜ao
feitas no arranjo
no pior caso?
Bolha(A, n):
para i = n - 1 at´e 1 fa¸ca:
para j = 1 at´e i fa¸ca:
se A[j-1] > A[j] ent~ao
t = A[j-1]
A[j-1] = A[j]
A[j] = t
O(n) × O(n)
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 5 / 25
Projeto por Indu¸c˜ao Simples
M´etodo da Bolha (iterativo)
E quantas
trocas de
elementos s˜ao
feitas no arranjo
no pior caso?
Bolha(A, n):
para i = n - 1 at´e 1 fa¸ca:
para j = 1 at´e i fa¸ca:
se A[j-1] > A[j] ent~ao
t = A[j-1]
A[j-1] = A[j]
A[j] = t
O(n) × O(n) = O(n2
)
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 5 / 25
Algoritmos de Ordena¸c˜ao
Cota Inferior
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 6 / 25
Ordena¸c˜ao: Cota Inferior
Vimos diversos algoritmos para o problema da
ordena¸c˜ao
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 7 / 25
Ordena¸c˜ao: Cota Inferior
Vimos diversos algoritmos para o problema da
ordena¸c˜ao
Todos eles tˆem algo em comum:
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 7 / 25
Ordena¸c˜ao: Cota Inferior
Vimos diversos algoritmos para o problema da
ordena¸c˜ao
Todos eles tˆem algo em comum:
Usam somente compara¸c˜oes entre elementos do conjunto a
ser ordenado para definir a posi¸c˜ao relativa desses elementos
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 7 / 25
Ordena¸c˜ao: Cota Inferior
Vimos diversos algoritmos para o problema da
ordena¸c˜ao
Todos eles tˆem algo em comum:
Usam somente compara¸c˜oes entre elementos do conjunto a
ser ordenado para definir a posi¸c˜ao relativa desses elementos
Ou seja, o resultado da compara¸c˜ao de xi com xj , i = j,
define se xi ser´a posicionado antes ou depois de xj no
conjunto ordenado
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 7 / 25
Ordena¸c˜ao: Cota Inferior
Vimos diversos algoritmos para o problema da
ordena¸c˜ao
Todos eles tˆem algo em comum:
Usam somente compara¸c˜oes entre elementos do conjunto a
ser ordenado para definir a posi¸c˜ao relativa desses elementos
Ou seja, o resultado da compara¸c˜ao de xi com xj , i = j,
define se xi ser´a posicionado antes ou depois de xj no
conjunto ordenado
Todos os algoritmos d˜ao uma cota superior para o
n´umero de compara¸c˜oes efetuadas ao resolver o
problema da ordena¸c˜ao
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 7 / 25
Ordena¸c˜ao: Cota Inferior
A menor cota superior dada pelos algoritmos at´e
ent˜ao ´e O(n2
), relativa ao n´umero de compara¸c˜oes
no pior caso
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 8 / 25
Ordena¸c˜ao: Cota Inferior
A menor cota superior dada pelos algoritmos at´e
ent˜ao ´e O(n2
), relativa ao n´umero de compara¸c˜oes
no pior caso
Ser´a que ´e poss´ıvel projetar um algoritmo de
ordena¸c˜ao baseado em compara¸c˜oes
assintoticamente mais eficiente que isso?
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 8 / 25
Ordena¸c˜ao: Cota Inferior
A menor cota superior dada pelos algoritmos at´e
ent˜ao ´e O(n2
), relativa ao n´umero de compara¸c˜oes
no pior caso
Ser´a que ´e poss´ıvel projetar um algoritmo de
ordena¸c˜ao baseado em compara¸c˜oes
assintoticamente mais eficiente que isso?
Sim
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 8 / 25
Ordena¸c˜ao: Cota Inferior
A menor cota superior dada pelos algoritmos at´e
ent˜ao ´e O(n2
), relativa ao n´umero de compara¸c˜oes
no pior caso
Ser´a que ´e poss´ıvel projetar um algoritmo de
ordena¸c˜ao baseado em compara¸c˜oes
assintoticamente mais eficiente que isso?
Sim
Qualquer algoritmo que ordena n elementos,
baseado apenas em compara¸c˜oes, efetua no m´ınimo
Ω(nlog(n)) compara¸c˜oes no pior caso
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 8 / 25
Ordena¸c˜ao: Cota Inferior
Para demonstrar isso, vamos representar os
algoritmos de ordena¸c˜ao em um modelo
computacional abstrato: a ´arvore (bin´aria) de
decis˜ao
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 9 / 25
Ordena¸c˜ao: Cota Inferior
Para demonstrar isso, vamos representar os
algoritmos de ordena¸c˜ao em um modelo
computacional abstrato: a ´arvore (bin´aria) de
decis˜ao
´Arvores de Decis˜ao
Uma ´arvore de decis˜ao ´e uma representa¸c˜ao gr´afica
formada por um conjunto de n´os, unidos entre si
por arestas
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 9 / 25
Ordena¸c˜ao: Cota Inferior
Para demonstrar isso, vamos representar os
algoritmos de ordena¸c˜ao em um modelo
computacional abstrato: a ´arvore (bin´aria) de
decis˜ao
´Arvores de Decis˜ao
Uma ´arvore de decis˜ao ´e uma representa¸c˜ao gr´afica
formada por um conjunto de n´os, unidos entre si
por arestas
Cada n´o representa um ponto de decis˜ao
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 9 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao
Cada aresta saindo do n´o representa a decis˜ao
tomada, levando a outro n´o, ou seja, a outro ponto
de decis˜ao
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 10 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao
Cada aresta saindo do n´o representa a decis˜ao
tomada, levando a outro n´o, ou seja, a outro ponto
de decis˜ao
Toda a representa¸c˜ao come¸ca em um n´o inicial, a
raiz da ´arvore, que representa o primeiro ponto de
decis˜ao
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 10 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao
Cada aresta saindo do n´o representa a decis˜ao
tomada, levando a outro n´o, ou seja, a outro ponto
de decis˜ao
Toda a representa¸c˜ao come¸ca em um n´o inicial, a
raiz da ´arvore, que representa o primeiro ponto de
decis˜ao
Terminando ent˜ao nos resultados finais das decis˜oes,
as folhas, a partir das quais mais nenhuma decis˜ao
´e tomada
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 10 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao
No caso das ´arvores bin´arias de decis˜ao, cada n´o
possui apenas duas sub´arvores
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 11 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao
No caso das ´arvores bin´arias de decis˜ao, cada n´o
possui apenas duas sub´arvores
Tipicamente, as duas sub´arvores representam os caminhos a
serem seguidos conforme o resultado (verdadeiro ou falso)
da compara¸c˜ao efetuada
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 11 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao
No caso das ´arvores bin´arias de decis˜ao, cada n´o
possui apenas duas sub´arvores
Tipicamente, as duas sub´arvores representam os caminhos a
serem seguidos conforme o resultado (verdadeiro ou falso)
da compara¸c˜ao efetuada
As folhas s˜ao as respostas poss´ıveis do algoritmo
ap´os as decis˜oes tomadas ao longo dos caminhos da
raiz at´e as folhas
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 11 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 12 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao
n´os
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 12 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao
arestas
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 12 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao
raiz
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 12 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao
folhas
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 12 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao
sub´arvore
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 12 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao
No caso da ordena¸c˜ao, os n´os internos representam
compara¸c˜oes feitas pelo algoritmo
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 13 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao
No caso da ordena¸c˜ao, os n´os internos representam
compara¸c˜oes feitas pelo algoritmo
As arestas representam os poss´ıveis resultados
dessas compara¸c˜oes
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 13 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao
No caso da ordena¸c˜ao, os n´os internos representam
compara¸c˜oes feitas pelo algoritmo
As arestas representam os poss´ıveis resultados
dessas compara¸c˜oes
E as sub´arvores de cada n´o interno representam
possibilidades de continuidade das a¸c˜oes do
algoritmo ap´os a compara¸c˜ao
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 13 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao – Ordena¸c˜ao
Considere a seguinte defini¸c˜ao alternativa do
problema da ordena¸c˜ao:
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 14 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao – Ordena¸c˜ao
Considere a seguinte defini¸c˜ao alternativa do
problema da ordena¸c˜ao:
Dado um conjunto de n valores x1, x2, . . . , xn,
encontre uma permuta¸c˜ao p dos ´ındices 1 ≤ i ≤ n
tal que xp(1) ≤ xp(2) ≤ . . . ≤ xp(n)
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 14 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao – Ordena¸c˜ao
Considere a seguinte defini¸c˜ao alternativa do
problema da ordena¸c˜ao:
Dado um conjunto de n valores x1, x2, . . . , xn,
encontre uma permuta¸c˜ao p dos ´ındices 1 ≤ i ≤ n
tal que xp(1) ≤ xp(2) ≤ . . . ≤ xp(n)
Representaremos uma permuta¸c˜ao como
p(1), p(2), . . . , p(n) , significando uma ordem espec´ıfica
dos valores x1, x2, . . . , xn
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 14 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao – Ordena¸c˜ao
Considere a seguinte defini¸c˜ao alternativa do
problema da ordena¸c˜ao:
Dado um conjunto de n valores x1, x2, . . . , xn,
encontre uma permuta¸c˜ao p dos ´ındices 1 ≤ i ≤ n
tal que xp(1) ≤ xp(2) ≤ . . . ≤ xp(n)
Representaremos uma permuta¸c˜ao como
p(1), p(2), . . . , p(n) , significando uma ordem espec´ıfica
dos valores x1, x2, . . . , xn
Ex: 3, 1, 2 significa a permuta¸c˜ao x3, x1, x2 da entrada
x1, x2, x3
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 14 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao – Ordena¸c˜ao
´E poss´ıvel representar um algoritmo para o problema
da ordena¸c˜ao atrav´es de uma ´arvore de decis˜ao da
seguinte forma:
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 15 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao – Ordena¸c˜ao
´E poss´ıvel representar um algoritmo para o problema
da ordena¸c˜ao atrav´es de uma ´arvore de decis˜ao da
seguinte forma:
Os n´os internos representam compara¸c˜oes entre dois
elementos do conjunto, ex: xi ≤ xj
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 15 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao – Ordena¸c˜ao
´E poss´ıvel representar um algoritmo para o problema
da ordena¸c˜ao atrav´es de uma ´arvore de decis˜ao da
seguinte forma:
Os n´os internos representam compara¸c˜oes entre dois
elementos do conjunto, ex: xi ≤ xj
As ramifica¸c˜oes representam os poss´ıveis resultados da
compara¸c˜ao: verdadeiro se xi ≤ xj , ou falso se xi > xj
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 15 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao – Ordena¸c˜ao
´E poss´ıvel representar um algoritmo para o problema
da ordena¸c˜ao atrav´es de uma ´arvore de decis˜ao da
seguinte forma:
Os n´os internos representam compara¸c˜oes entre dois
elementos do conjunto, ex: xi ≤ xj
As ramifica¸c˜oes representam os poss´ıveis resultados da
compara¸c˜ao: verdadeiro se xi ≤ xj , ou falso se xi > xj
As folhas representam poss´ıveis solu¸c˜oes: as diferentes
permuta¸c˜oes dos n ´ındices
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 15 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao: Ordena¸c˜ao
Ex: ´Arvore de decis˜ao para o m´etodo da Inser¸c˜ao,
com arranjo de 3 elementos:
x1 ≤ x2
x2 ≤ x3 x1 ≤ x3
sim n˜ao
1, 2, 3 x1 ≤ x3
sim n˜ao
2, 1, 3 x2 ≤ x3
sim n˜ao
1, 3, 2 3, 1, 2
sim n˜ao
2, 3, 1 3, 2, 1
sim n˜ao
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 16 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao: Ordena¸c˜ao
Ex: ´Arvore de decis˜ao para o m´etodo da Inser¸c˜ao,
com arranjo de 3 elementos:
x1 ≤ x2
x2 ≤ x3 x1 ≤ x3
sim n˜ao
1, 2, 3 x1 ≤ x3
sim n˜ao
2, 1, 3 x2 ≤ x3
sim n˜ao
1, 3, 2 3, 1, 2
sim n˜ao
2, 3, 1 3, 2, 1
sim n˜ao
permuta¸c˜oes
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 16 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao: Ordena¸c˜ao
Ex: ´Arvore de decis˜ao para o m´etodo da Inser¸c˜ao,
com arranjo de 3 elementos:
x1 ≤ x2
x2 ≤ x3 x1 ≤ x3
sim n˜ao
1, 2, 3 x1 ≤ x3
sim n˜ao
2, 1, 3 x2 ≤ x3
sim n˜ao
1, 3, 2 3, 1, 2
sim n˜ao
2, 3, 1 3, 2, 1
sim n˜ao
1, 2, 3 significa
a permuta¸c˜ao
x1, x2, x3 da entrada
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 16 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao: Ordena¸c˜ao
Ex: Entrada x1 = 6, x2 = 8, x3 = 5
x1 ≤ x2
x2 ≤ x3 x1 ≤ x3
sim n˜ao
1, 2, 3 x1 ≤ x3
sim n˜ao
2, 1, 3 x2 ≤ x3
sim n˜ao
1, 3, 2 3, 1, 2
sim n˜ao
2, 3, 1 3, 2, 1
sim n˜ao
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 17 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao: Ordena¸c˜ao
Ex: Entrada x1 = 6, x2 = 8, x3 = 5
x1 ≤ x2
x2 ≤ x3 x1 ≤ x3
sim n˜ao
1, 2, 3 x1 ≤ x3
sim n˜ao
2, 1, 3 x2 ≤ x3
sim n˜ao
1, 3, 2 3, 1, 2
sim n˜ao
2, 3, 1 3, 2, 1
sim n˜ao
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 17 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao: Ordena¸c˜ao
Ex: Entrada x1 = 6, x2 = 8, x3 = 5
x1 ≤ x2
x2 ≤ x3 x1 ≤ x3
sim n˜ao
1, 2, 3 x1 ≤ x3
sim n˜ao
2, 1, 3 x2 ≤ x3
sim n˜ao
1, 3, 2 3, 1, 2
sim n˜ao
2, 3, 1 3, 2, 1
sim n˜ao
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 17 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao: Ordena¸c˜ao
Ex: Entrada x1 = 6, x2 = 8, x3 = 5
x1 ≤ x2
x2 ≤ x3 x1 ≤ x3
sim n˜ao
1, 2, 3 x1 ≤ x3
sim n˜ao
2, 1, 3 x2 ≤ x3
sim n˜ao
1, 3, 2 3, 1, 2
sim n˜ao
2, 3, 1 3, 2, 1
sim n˜ao
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 17 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao: Ordena¸c˜ao
Ex: Entrada x1 = 6, x2 = 8, x3 = 5
x1 ≤ x2
x2 ≤ x3 x1 ≤ x3
sim n˜ao
1, 2, 3 x1 ≤ x3
sim n˜ao
2, 1, 3 x2 ≤ x3
sim n˜ao
1, 3, 2 3, 1, 2
sim n˜ao
2, 3, 1 3, 2, 1
sim n˜ao
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 17 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao: Ordena¸c˜ao
Ex: Entrada x1 = 6, x2 = 8, x3 = 5
x1 ≤ x2
x2 ≤ x3 x1 ≤ x3
sim n˜ao
1, 2, 3 x1 ≤ x3
sim n˜ao
2, 1, 3 x2 ≤ x3
sim n˜ao
1, 3, 2 3, 1, 2
sim n˜ao
2, 3, 1 3, 2, 1
sim n˜ao
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 17 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao: Ordena¸c˜ao
Ex: Entrada x1 = 6, x2 = 8, x3 = 5
x1 ≤ x2
x2 ≤ x3 x1 ≤ x3
sim n˜ao
1, 2, 3 x1 ≤ x3
sim n˜ao
2, 1, 3 x2 ≤ x3
sim n˜ao
1, 3, 2 3, 1, 2
sim n˜ao
2, 3, 1 3, 2, 1
sim n˜ao
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 17 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao: Ordena¸c˜ao
Ex: Entrada x1 = 6, x2 = 8, x3 = 5
x1 ≤ x2
x2 ≤ x3 x1 ≤ x3
sim n˜ao
1, 2, 3 x1 ≤ x3
sim n˜ao
2, 1, 3 x2 ≤ x3
sim n˜ao
1, 3, 2 3, 1, 2
sim n˜ao
2, 3, 1 3, 2, 1
sim n˜ao
Resp: x3, x1, x2
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 17 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao: Ordena¸c˜ao
Ao representarmos um algoritmo de ordena¸c˜ao
baseado em compara¸c˜oes com uma ´arvore bin´aria
de decis˜ao, todas as permuta¸c˜oes de n elementos
devem ser poss´ıveis solu¸c˜oes
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 18 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao: Ordena¸c˜ao
Ao representarmos um algoritmo de ordena¸c˜ao
baseado em compara¸c˜oes com uma ´arvore bin´aria
de decis˜ao, todas as permuta¸c˜oes de n elementos
devem ser poss´ıveis solu¸c˜oes
Assim, a ´arvore bin´aria de decis˜ao deve ter pelo
menos n! folhas
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 18 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao: Ordena¸c˜ao
Ao representarmos um algoritmo de ordena¸c˜ao
baseado em compara¸c˜oes com uma ´arvore bin´aria
de decis˜ao, todas as permuta¸c˜oes de n elementos
devem ser poss´ıveis solu¸c˜oes
Assim, a ´arvore bin´aria de decis˜ao deve ter pelo
menos n! folhas
Pode ter mais, pois nada impede que duas sequˆencias
distintas de decis˜oes terminem no mesmo resultado
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 18 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao: Ordena¸c˜ao
A execu¸c˜ao do
algoritmo de
ordena¸c˜ao
corresponde a
tra¸car um
caminho da raiz a
uma folha
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 19 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao: Ordena¸c˜ao
A execu¸c˜ao do
algoritmo de
ordena¸c˜ao
corresponde a
tra¸car um
caminho da raiz a
uma folha
x1 ≤ x2
x2 ≤ x3 x1 ≤ x3
sim n˜ao
1, 2, 3 x1 ≤ x3
sim n˜ao
2, 1, 3 x2 ≤ x3
sim n˜ao
1, 3, 2 3, 1, 2
sim n˜ao
2, 3, 1 3, 2, 1
sim n˜ao
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 19 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao: Ordena¸c˜ao
A execu¸c˜ao do
algoritmo de
ordena¸c˜ao
corresponde a
tra¸car um
caminho da raiz a
uma folha
x1 ≤ x2
x2 ≤ x3 x1 ≤ x3
sim n˜ao
1, 2, 3 x1 ≤ x3
sim n˜ao
2, 1, 3 x2 ≤ x3
sim n˜ao
1, 3, 2 3, 1, 2
sim n˜ao
2, 3, 1 3, 2, 1
sim n˜ao
O caminho mais longo da raiz a uma folha representa o pior
caso de execu¸c˜ao do algoritmo
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 19 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao: Ordena¸c˜ao
A altura de uma ´arvore bin´aria de decis˜ao
representa o n´umero de compara¸c˜oes, no pior caso,
que o algoritmo por ela representado executa
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 20 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao: Ordena¸c˜ao
A altura de uma ´arvore bin´aria de decis˜ao
representa o n´umero de compara¸c˜oes, no pior caso,
que o algoritmo por ela representado executa
A altura (h) de uma ´arvore ´e o comprimento do caminho
mais longo da raiz at´e qualquer uma de suas folhas
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 20 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao: Ordena¸c˜ao
A altura de uma ´arvore bin´aria de decis˜ao
representa o n´umero de compara¸c˜oes, no pior caso,
que o algoritmo por ela representado executa
A altura (h) de uma ´arvore ´e o comprimento do caminho
mais longo da raiz at´e qualquer uma de suas folhas
Ent˜ao um limite inferior nas alturas de todas as
´arvores de decis˜ao nas quais cada permuta¸c˜ao
aparece em uma folha ´e um limite inferior para o
tempo de execu¸c˜ao de qualquer algoritmo de
ordena¸c˜ao baseado em compara¸c˜oes
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 20 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao: Ordena¸c˜ao
E qual ´e esse limite?
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 21 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao: Ordena¸c˜ao
E qual ´e esse limite?
Na busca bin´aria, vimos que uma ´arvore bin´aria de
decis˜ao T com altura h tem, no m´aximo, 2h
folhas
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 21 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao: Ordena¸c˜ao
E qual ´e esse limite?
Na busca bin´aria, vimos que uma ´arvore bin´aria de
decis˜ao T com altura h tem, no m´aximo, 2h
folhas
Portanto, se T tem n! folhas, ent˜ao n! ≤ 2h
, ou seja
h ≥ log2(n!)
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 21 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao: Ordena¸c˜ao
log2(n!) = log2(
n
i=1
i)
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 22 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao: Ordena¸c˜ao
log2(n!) = log2(
n
i=1
i)
=
n
i=1
log2(i)
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 22 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao: Ordena¸c˜ao
log2(n!) = log2(
n
i=1
i)
=
n
i=1
log2(i)
≥
n
i=n/2
log2(i)
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 22 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao: Ordena¸c˜ao
log2(n!) = log2(
n
i=1
i)
=
n
i=1
log2(i)
≥
n
i=n/2
log2(i)
≥
n
i=n/2
log2(
n
2
)
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 22 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao: Ordena¸c˜ao
log2(n!) = log2(
n
i=1
i)
=
n
i=1
log2(i)
≥
n
i=n/2
log2(i)
≥
n
i=n/2
log2(
n
2
)
= (n − n
2
)log2(n
2
)
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 22 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao: Ordena¸c˜ao
log2(n!) ≥ (n − n
2
)log2(n
2
)
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 23 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao: Ordena¸c˜ao
log2(n!) ≥ (n − n
2
)log2(n
2
)
= n
2
log2(n
2
)
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 23 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao: Ordena¸c˜ao
log2(n!) ≥ (n − n
2
)log2(n
2
)
= n
2
log2(n
2
)
= n
2
(log2(n) − log22)
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 23 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao: Ordena¸c˜ao
log2(n!) ≥ (n − n
2
)log2(n
2
)
= n
2
log2(n
2
)
= n
2
(log2(n) − log22)
= n
2
(log2(n) − 1)
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 23 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao: Ordena¸c˜ao
log2(n!) ≥ (n − n
2
)log2(n
2
)
= n
2
log2(n
2
)
= n
2
(log2(n) − log22)
= n
2
(log2(n) − 1)
= n
2
log2(n) − n
2
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 23 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao: Ordena¸c˜ao
log2(n!) ≥ (n − n
2
)log2(n
2
)
= n
2
log2(n
2
)
= n
2
(log2(n) − log22)
= n
2
(log2(n) − 1)
= n
2
log2(n) − n
2
= Ω(nlog2(n)), n ≥ 4, c = 1
4
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 23 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao: Ordena¸c˜ao
Portanto, h = Ω(nlog(n))
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 24 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao: Ordena¸c˜ao
Portanto, h = Ω(nlog(n))
Lembrando que a altura h representa o n´umero de
compara¸c˜oes, no pior caso, que o algoritmo executa
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 24 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao: Ordena¸c˜ao
Portanto, h = Ω(nlog(n))
Lembrando que a altura h representa o n´umero de
compara¸c˜oes, no pior caso, que o algoritmo executa
Temos ent˜ao uma cota inferior para ordena¸c˜ao
baseada em compara¸c˜oes
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 24 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao: Ordena¸c˜ao
Portanto, h = Ω(nlog(n))
Lembrando que a altura h representa o n´umero de
compara¸c˜oes, no pior caso, que o algoritmo executa
Temos ent˜ao uma cota inferior para ordena¸c˜ao
baseada em compara¸c˜oes
Mas nossos algoritmos, at´e agora, s˜ao Θ(n2
) ⇒ Ω(n2
)
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 24 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao: Ordena¸c˜ao
Portanto, h = Ω(nlog(n))
Lembrando que a altura h representa o n´umero de
compara¸c˜oes, no pior caso, que o algoritmo executa
Temos ent˜ao uma cota inferior para ordena¸c˜ao
baseada em compara¸c˜oes
Mas nossos algoritmos, at´e agora, s˜ao Θ(n2
) ⇒ Ω(n2
)
Haveria algum algoritmo de ordena¸c˜ao, baseado em
compara¸c˜oes, que seja Θ(nlog(n))?
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 24 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao: Ordena¸c˜ao
Portanto, h = Ω(nlog(n))
Lembrando que a altura h representa o n´umero de
compara¸c˜oes, no pior caso, que o algoritmo executa
Temos ent˜ao uma cota inferior para ordena¸c˜ao
baseada em compara¸c˜oes
Mas nossos algoritmos, at´e agora, s˜ao Θ(n2
) ⇒ Ω(n2
)
Haveria algum algoritmo de ordena¸c˜ao, baseado em
compara¸c˜oes, que seja Θ(nlog(n))?
Ou seja, um algoritmo ´otimo
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 24 / 25
Ordena¸c˜ao: Cota Inferior
´Arvores de Decis˜ao: Ordena¸c˜ao
Portanto, h = Ω(nlog(n))
Lembrando que a altura h representa o n´umero de
compara¸c˜oes, no pior caso, que o algoritmo executa
Temos ent˜ao uma cota inferior para ordena¸c˜ao
baseada em compara¸c˜oes
Mas nossos algoritmos, at´e agora, s˜ao Θ(n2
) ⇒ Ω(n2
)
Haveria algum algoritmo de ordena¸c˜ao, baseado em
compara¸c˜oes, que seja Θ(nlog(n))?
Ou seja, um algoritmo ´otimo
Na pr´oxima aula...
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 24 / 25
Referˆencias
Cormen, Thomas H., Leiserson, Charles E., Rivest, Ronald L.,
Stein, Clifford. Introduction to Algorithms. 2a ed. MIT Press,
2001.
Material baseado em slides dos professores Cid de Souza,
Cˆandida da Silva e Delano Beder
Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 25 / 25

Mais conteúdo relacionado

Mais procurados

(ACH2002) Introdução à Análise de Algoritmos - Aula 03
(ACH2002) Introdução à Análise de Algoritmos - Aula 03(ACH2002) Introdução à Análise de Algoritmos - Aula 03
(ACH2002) Introdução à Análise de Algoritmos - Aula 03Norton Trevisan Roman
 
(ACH2002) Introdução à Análise de Algoritmos - Aula 02
(ACH2002) Introdução à Análise de Algoritmos - Aula 02(ACH2002) Introdução à Análise de Algoritmos - Aula 02
(ACH2002) Introdução à Análise de Algoritmos - Aula 02Norton Trevisan Roman
 
(ACH2002) Introdução à Análise de Algoritmos - Aula 01
(ACH2002) Introdução à Análise de Algoritmos - Aula 01(ACH2002) Introdução à Análise de Algoritmos - Aula 01
(ACH2002) Introdução à Análise de Algoritmos - Aula 01Norton Trevisan Roman
 
(ACH2002) Introdução à Análise de Algoritmos - Aula 07
(ACH2002) Introdução à Análise de Algoritmos - Aula 07(ACH2002) Introdução à Análise de Algoritmos - Aula 07
(ACH2002) Introdução à Análise de Algoritmos - Aula 07Norton Trevisan Roman
 
(ACH2002) Introdução à Análise de Algoritmos - Aula 09
(ACH2002) Introdução à Análise de Algoritmos - Aula 09(ACH2002) Introdução à Análise de Algoritmos - Aula 09
(ACH2002) Introdução à Análise de Algoritmos - Aula 09Norton Trevisan Roman
 
(ACH2002) Introdução à Análise de Algoritmos - Aula 19
(ACH2002) Introdução à Análise de Algoritmos - Aula 19(ACH2002) Introdução à Análise de Algoritmos - Aula 19
(ACH2002) Introdução à Análise de Algoritmos - Aula 19Norton Trevisan Roman
 
(ACH2002) Introdução à Análise de Algoritmos - Aula 11
(ACH2002) Introdução à Análise de Algoritmos - Aula 11(ACH2002) Introdução à Análise de Algoritmos - Aula 11
(ACH2002) Introdução à Análise de Algoritmos - Aula 11Norton Trevisan Roman
 
Matemática Computacional
Matemática ComputacionalMatemática Computacional
Matemática ComputacionalRicardo Terra
 
Casamento de Padrões
Casamento de PadrõesCasamento de Padrões
Casamento de PadrõesRicardo Terra
 
Beljug2010
Beljug2010Beljug2010
Beljug2010UFPA
 
Apostila Linguagens Formais e Autômatos (LFA)
Apostila Linguagens Formais e Autômatos (LFA)Apostila Linguagens Formais e Autômatos (LFA)
Apostila Linguagens Formais e Autômatos (LFA)Ricardo Terra
 
Apresentacao N P Completude Loiane
Apresentacao  N P Completude  LoianeApresentacao  N P Completude  Loiane
Apresentacao N P Completude LoianeLoiane Groner
 

Mais procurados (12)

(ACH2002) Introdução à Análise de Algoritmos - Aula 03
(ACH2002) Introdução à Análise de Algoritmos - Aula 03(ACH2002) Introdução à Análise de Algoritmos - Aula 03
(ACH2002) Introdução à Análise de Algoritmos - Aula 03
 
(ACH2002) Introdução à Análise de Algoritmos - Aula 02
(ACH2002) Introdução à Análise de Algoritmos - Aula 02(ACH2002) Introdução à Análise de Algoritmos - Aula 02
(ACH2002) Introdução à Análise de Algoritmos - Aula 02
 
(ACH2002) Introdução à Análise de Algoritmos - Aula 01
(ACH2002) Introdução à Análise de Algoritmos - Aula 01(ACH2002) Introdução à Análise de Algoritmos - Aula 01
(ACH2002) Introdução à Análise de Algoritmos - Aula 01
 
(ACH2002) Introdução à Análise de Algoritmos - Aula 07
(ACH2002) Introdução à Análise de Algoritmos - Aula 07(ACH2002) Introdução à Análise de Algoritmos - Aula 07
(ACH2002) Introdução à Análise de Algoritmos - Aula 07
 
(ACH2002) Introdução à Análise de Algoritmos - Aula 09
(ACH2002) Introdução à Análise de Algoritmos - Aula 09(ACH2002) Introdução à Análise de Algoritmos - Aula 09
(ACH2002) Introdução à Análise de Algoritmos - Aula 09
 
(ACH2002) Introdução à Análise de Algoritmos - Aula 19
(ACH2002) Introdução à Análise de Algoritmos - Aula 19(ACH2002) Introdução à Análise de Algoritmos - Aula 19
(ACH2002) Introdução à Análise de Algoritmos - Aula 19
 
(ACH2002) Introdução à Análise de Algoritmos - Aula 11
(ACH2002) Introdução à Análise de Algoritmos - Aula 11(ACH2002) Introdução à Análise de Algoritmos - Aula 11
(ACH2002) Introdução à Análise de Algoritmos - Aula 11
 
Matemática Computacional
Matemática ComputacionalMatemática Computacional
Matemática Computacional
 
Casamento de Padrões
Casamento de PadrõesCasamento de Padrões
Casamento de Padrões
 
Beljug2010
Beljug2010Beljug2010
Beljug2010
 
Apostila Linguagens Formais e Autômatos (LFA)
Apostila Linguagens Formais e Autômatos (LFA)Apostila Linguagens Formais e Autômatos (LFA)
Apostila Linguagens Formais e Autômatos (LFA)
 
Apresentacao N P Completude Loiane
Apresentacao  N P Completude  LoianeApresentacao  N P Completude  Loiane
Apresentacao N P Completude Loiane
 

Semelhante a (ACH2002) Introdução à Análise de Algoritmos - Aula 13

Algoritmos de ordenação
Algoritmos de ordenaçãoAlgoritmos de ordenação
Algoritmos de ordenaçãoJonas Mendonça
 
Aula_07_Complexidade_de_Algoritmos.ppt
Aula_07_Complexidade_de_Algoritmos.pptAula_07_Complexidade_de_Algoritmos.ppt
Aula_07_Complexidade_de_Algoritmos.pptssuserd654cb1
 
Aula_07_Complexidade_de_Algoritmos (1).ppt
Aula_07_Complexidade_de_Algoritmos (1).pptAula_07_Complexidade_de_Algoritmos (1).ppt
Aula_07_Complexidade_de_Algoritmos (1).pptssuserd654cb1
 
Análise de Algoritmos - Problemas, instâncias, algoritmos e tempo
Análise de Algoritmos - Problemas, instâncias, algoritmos e tempoAnálise de Algoritmos - Problemas, instâncias, algoritmos e tempo
Análise de Algoritmos - Problemas, instâncias, algoritmos e tempoDelacyr Ferreira
 
Aulas de estrutura de dados por Ayrton Yagami
Aulas de estrutura de dados por Ayrton YagamiAulas de estrutura de dados por Ayrton Yagami
Aulas de estrutura de dados por Ayrton YagamiAyrton Yagami
 
Arranjos simples e combinação aula completa
Arranjos simples e combinação aula completaArranjos simples e combinação aula completa
Arranjos simples e combinação aula completaAllanDias22
 
Introdução à analise e complexidade de algoritmos
Introdução à analise e complexidade de algoritmosIntrodução à analise e complexidade de algoritmos
Introdução à analise e complexidade de algoritmosNécio de Lima Veras
 
Ordenação de vetores
Ordenação de vetoresOrdenação de vetores
Ordenação de vetoresalfredtaddeus
 
Complexidade de algoritmos insertion, selection e bubble sort.
Complexidade de algoritmos insertion, selection e bubble sort.Complexidade de algoritmos insertion, selection e bubble sort.
Complexidade de algoritmos insertion, selection e bubble sort.Júlio Rocha
 
149865767 preparacao-para-prova-final-de-matematica-2âº-ciclo
149865767 preparacao-para-prova-final-de-matematica-2âº-ciclo149865767 preparacao-para-prova-final-de-matematica-2âº-ciclo
149865767 preparacao-para-prova-final-de-matematica-2âº-ciclobellaluna288
 
Recursividade em C
Recursividade em CRecursividade em C
Recursividade em CCaique Silva
 
(ACH2001) Introdução à Programação - Aula 13
(ACH2001) Introdução à Programação - Aula 13(ACH2001) Introdução à Programação - Aula 13
(ACH2001) Introdução à Programação - Aula 13Norton Trevisan Roman
 
Listas em Prolog
Listas em PrologListas em Prolog
Listas em PrologNatã Melo
 
Aula: busca e ordenação
Aula: busca e ordenaçãoAula: busca e ordenação
Aula: busca e ordenaçãoRodrigo Rocha
 
13 introducao a analise de algoritmos
13   introducao a analise de algoritmos13   introducao a analise de algoritmos
13 introducao a analise de algoritmosRicardo Bolanho
 

Semelhante a (ACH2002) Introdução à Análise de Algoritmos - Aula 13 (19)

Algoritmos de ordenação
Algoritmos de ordenaçãoAlgoritmos de ordenação
Algoritmos de ordenação
 
Aula_07_Complexidade_de_Algoritmos.ppt
Aula_07_Complexidade_de_Algoritmos.pptAula_07_Complexidade_de_Algoritmos.ppt
Aula_07_Complexidade_de_Algoritmos.ppt
 
Aula_07_Complexidade_de_Algoritmos (1).ppt
Aula_07_Complexidade_de_Algoritmos (1).pptAula_07_Complexidade_de_Algoritmos (1).ppt
Aula_07_Complexidade_de_Algoritmos (1).ppt
 
apresentacaoEAM.pdf
apresentacaoEAM.pdfapresentacaoEAM.pdf
apresentacaoEAM.pdf
 
Análise de Algoritmos - Problemas, instâncias, algoritmos e tempo
Análise de Algoritmos - Problemas, instâncias, algoritmos e tempoAnálise de Algoritmos - Problemas, instâncias, algoritmos e tempo
Análise de Algoritmos - Problemas, instâncias, algoritmos e tempo
 
Aulas de estrutura de dados por Ayrton Yagami
Aulas de estrutura de dados por Ayrton YagamiAulas de estrutura de dados por Ayrton Yagami
Aulas de estrutura de dados por Ayrton Yagami
 
Apostila rpira
Apostila rpiraApostila rpira
Apostila rpira
 
Arranjos simples e combinação aula completa
Arranjos simples e combinação aula completaArranjos simples e combinação aula completa
Arranjos simples e combinação aula completa
 
Introdução à analise e complexidade de algoritmos
Introdução à analise e complexidade de algoritmosIntrodução à analise e complexidade de algoritmos
Introdução à analise e complexidade de algoritmos
 
Resumão ibge
Resumão ibgeResumão ibge
Resumão ibge
 
Ordenação de vetores
Ordenação de vetoresOrdenação de vetores
Ordenação de vetores
 
Teoria de determinantes 2013
Teoria de  determinantes    2013Teoria de  determinantes    2013
Teoria de determinantes 2013
 
Complexidade de algoritmos insertion, selection e bubble sort.
Complexidade de algoritmos insertion, selection e bubble sort.Complexidade de algoritmos insertion, selection e bubble sort.
Complexidade de algoritmos insertion, selection e bubble sort.
 
149865767 preparacao-para-prova-final-de-matematica-2âº-ciclo
149865767 preparacao-para-prova-final-de-matematica-2âº-ciclo149865767 preparacao-para-prova-final-de-matematica-2âº-ciclo
149865767 preparacao-para-prova-final-de-matematica-2âº-ciclo
 
Recursividade em C
Recursividade em CRecursividade em C
Recursividade em C
 
(ACH2001) Introdução à Programação - Aula 13
(ACH2001) Introdução à Programação - Aula 13(ACH2001) Introdução à Programação - Aula 13
(ACH2001) Introdução à Programação - Aula 13
 
Listas em Prolog
Listas em PrologListas em Prolog
Listas em Prolog
 
Aula: busca e ordenação
Aula: busca e ordenaçãoAula: busca e ordenação
Aula: busca e ordenação
 
13 introducao a analise de algoritmos
13   introducao a analise de algoritmos13   introducao a analise de algoritmos
13 introducao a analise de algoritmos
 

Mais de Norton Trevisan Roman

(ACH2044) Inteligência Artificial - Aula 24
(ACH2044) Inteligência Artificial - Aula 24(ACH2044) Inteligência Artificial - Aula 24
(ACH2044) Inteligência Artificial - Aula 24Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 23
(ACH2044) Inteligência Artificial - Aula 23(ACH2044) Inteligência Artificial - Aula 23
(ACH2044) Inteligência Artificial - Aula 23Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 22
(ACH2044) Inteligência Artificial - Aula 22(ACH2044) Inteligência Artificial - Aula 22
(ACH2044) Inteligência Artificial - Aula 22Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 21
(ACH2044) Inteligência Artificial - Aula 21(ACH2044) Inteligência Artificial - Aula 21
(ACH2044) Inteligência Artificial - Aula 21Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 20
(ACH2044) Inteligência Artificial - Aula 20(ACH2044) Inteligência Artificial - Aula 20
(ACH2044) Inteligência Artificial - Aula 20Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 19
(ACH2044) Inteligência Artificial - Aula 19(ACH2044) Inteligência Artificial - Aula 19
(ACH2044) Inteligência Artificial - Aula 19Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 18
(ACH2044) Inteligência Artificial - Aula 18(ACH2044) Inteligência Artificial - Aula 18
(ACH2044) Inteligência Artificial - Aula 18Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 17
(ACH2044) Inteligência Artificial - Aula 17(ACH2044) Inteligência Artificial - Aula 17
(ACH2044) Inteligência Artificial - Aula 17Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 16
(ACH2044) Inteligência Artificial - Aula 16(ACH2044) Inteligência Artificial - Aula 16
(ACH2044) Inteligência Artificial - Aula 16Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 15
(ACH2044) Inteligência Artificial - Aula 15(ACH2044) Inteligência Artificial - Aula 15
(ACH2044) Inteligência Artificial - Aula 15Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 14
(ACH2044) Inteligência Artificial - Aula 14(ACH2044) Inteligência Artificial - Aula 14
(ACH2044) Inteligência Artificial - Aula 14Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 13
(ACH2044) Inteligência Artificial - Aula 13(ACH2044) Inteligência Artificial - Aula 13
(ACH2044) Inteligência Artificial - Aula 13Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 12
(ACH2044) Inteligência Artificial - Aula 12(ACH2044) Inteligência Artificial - Aula 12
(ACH2044) Inteligência Artificial - Aula 12Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 11
(ACH2044) Inteligência Artificial - Aula 11(ACH2044) Inteligência Artificial - Aula 11
(ACH2044) Inteligência Artificial - Aula 11Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 10
(ACH2044) Inteligência Artificial - Aula 10(ACH2044) Inteligência Artificial - Aula 10
(ACH2044) Inteligência Artificial - Aula 10Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 09
(ACH2044) Inteligência Artificial - Aula 09(ACH2044) Inteligência Artificial - Aula 09
(ACH2044) Inteligência Artificial - Aula 09Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 08
(ACH2044) Inteligência Artificial - Aula 08(ACH2044) Inteligência Artificial - Aula 08
(ACH2044) Inteligência Artificial - Aula 08Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 07
(ACH2044) Inteligência Artificial - Aula 07(ACH2044) Inteligência Artificial - Aula 07
(ACH2044) Inteligência Artificial - Aula 07Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 06
(ACH2044) Inteligência Artificial - Aula 06(ACH2044) Inteligência Artificial - Aula 06
(ACH2044) Inteligência Artificial - Aula 06Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 05
(ACH2044) Inteligência Artificial - Aula 05(ACH2044) Inteligência Artificial - Aula 05
(ACH2044) Inteligência Artificial - Aula 05Norton Trevisan Roman
 

Mais de Norton Trevisan Roman (20)

(ACH2044) Inteligência Artificial - Aula 24
(ACH2044) Inteligência Artificial - Aula 24(ACH2044) Inteligência Artificial - Aula 24
(ACH2044) Inteligência Artificial - Aula 24
 
(ACH2044) Inteligência Artificial - Aula 23
(ACH2044) Inteligência Artificial - Aula 23(ACH2044) Inteligência Artificial - Aula 23
(ACH2044) Inteligência Artificial - Aula 23
 
(ACH2044) Inteligência Artificial - Aula 22
(ACH2044) Inteligência Artificial - Aula 22(ACH2044) Inteligência Artificial - Aula 22
(ACH2044) Inteligência Artificial - Aula 22
 
(ACH2044) Inteligência Artificial - Aula 21
(ACH2044) Inteligência Artificial - Aula 21(ACH2044) Inteligência Artificial - Aula 21
(ACH2044) Inteligência Artificial - Aula 21
 
(ACH2044) Inteligência Artificial - Aula 20
(ACH2044) Inteligência Artificial - Aula 20(ACH2044) Inteligência Artificial - Aula 20
(ACH2044) Inteligência Artificial - Aula 20
 
(ACH2044) Inteligência Artificial - Aula 19
(ACH2044) Inteligência Artificial - Aula 19(ACH2044) Inteligência Artificial - Aula 19
(ACH2044) Inteligência Artificial - Aula 19
 
(ACH2044) Inteligência Artificial - Aula 18
(ACH2044) Inteligência Artificial - Aula 18(ACH2044) Inteligência Artificial - Aula 18
(ACH2044) Inteligência Artificial - Aula 18
 
(ACH2044) Inteligência Artificial - Aula 17
(ACH2044) Inteligência Artificial - Aula 17(ACH2044) Inteligência Artificial - Aula 17
(ACH2044) Inteligência Artificial - Aula 17
 
(ACH2044) Inteligência Artificial - Aula 16
(ACH2044) Inteligência Artificial - Aula 16(ACH2044) Inteligência Artificial - Aula 16
(ACH2044) Inteligência Artificial - Aula 16
 
(ACH2044) Inteligência Artificial - Aula 15
(ACH2044) Inteligência Artificial - Aula 15(ACH2044) Inteligência Artificial - Aula 15
(ACH2044) Inteligência Artificial - Aula 15
 
(ACH2044) Inteligência Artificial - Aula 14
(ACH2044) Inteligência Artificial - Aula 14(ACH2044) Inteligência Artificial - Aula 14
(ACH2044) Inteligência Artificial - Aula 14
 
(ACH2044) Inteligência Artificial - Aula 13
(ACH2044) Inteligência Artificial - Aula 13(ACH2044) Inteligência Artificial - Aula 13
(ACH2044) Inteligência Artificial - Aula 13
 
(ACH2044) Inteligência Artificial - Aula 12
(ACH2044) Inteligência Artificial - Aula 12(ACH2044) Inteligência Artificial - Aula 12
(ACH2044) Inteligência Artificial - Aula 12
 
(ACH2044) Inteligência Artificial - Aula 11
(ACH2044) Inteligência Artificial - Aula 11(ACH2044) Inteligência Artificial - Aula 11
(ACH2044) Inteligência Artificial - Aula 11
 
(ACH2044) Inteligência Artificial - Aula 10
(ACH2044) Inteligência Artificial - Aula 10(ACH2044) Inteligência Artificial - Aula 10
(ACH2044) Inteligência Artificial - Aula 10
 
(ACH2044) Inteligência Artificial - Aula 09
(ACH2044) Inteligência Artificial - Aula 09(ACH2044) Inteligência Artificial - Aula 09
(ACH2044) Inteligência Artificial - Aula 09
 
(ACH2044) Inteligência Artificial - Aula 08
(ACH2044) Inteligência Artificial - Aula 08(ACH2044) Inteligência Artificial - Aula 08
(ACH2044) Inteligência Artificial - Aula 08
 
(ACH2044) Inteligência Artificial - Aula 07
(ACH2044) Inteligência Artificial - Aula 07(ACH2044) Inteligência Artificial - Aula 07
(ACH2044) Inteligência Artificial - Aula 07
 
(ACH2044) Inteligência Artificial - Aula 06
(ACH2044) Inteligência Artificial - Aula 06(ACH2044) Inteligência Artificial - Aula 06
(ACH2044) Inteligência Artificial - Aula 06
 
(ACH2044) Inteligência Artificial - Aula 05
(ACH2044) Inteligência Artificial - Aula 05(ACH2044) Inteligência Artificial - Aula 05
(ACH2044) Inteligência Artificial - Aula 05
 

Último

FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOFASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOAulasgravadas3
 
Libras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS MemoriaLibras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS Memorialgrecchi
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números Mary Alvarenga
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaronaldojacademico
 
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxSlides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxLuizHenriquedeAlmeid6
 
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...licinioBorges
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...Rosalina Simão Nunes
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
Literatura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptLiteratura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptMaiteFerreira4
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxleandropereira983288
 
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxJOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxTainTorres4
 
Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividadeMary Alvarenga
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfMarianaMoraesMathias
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdfAna Lemos
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManuais Formação
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãIlda Bicacro
 
análise de redação completa - Dissertação
análise de redação completa - Dissertaçãoanálise de redação completa - Dissertação
análise de redação completa - DissertaçãoMaiteFerreira4
 

Último (20)

FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOFASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
 
Libras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS MemoriaLibras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS Memoria
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riqueza
 
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxSlides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
 
Bullying, sai pra lá
Bullying,  sai pra láBullying,  sai pra lá
Bullying, sai pra lá
 
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
Literatura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptLiteratura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.ppt
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptx
 
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxJOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
 
Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividade
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdf
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envio
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! Sertã
 
análise de redação completa - Dissertação
análise de redação completa - Dissertaçãoanálise de redação completa - Dissertação
análise de redação completa - Dissertação
 

(ACH2002) Introdução à Análise de Algoritmos - Aula 13

  • 1. Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior Norton Trevisan Roman norton@usp.br 2 de outubro de 2018 Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 1 / 25
  • 2. Projeto por Indu¸c˜ao Simples Terceira Alternativa Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 2 / 25
  • 3. Projeto por Indu¸c˜ao Simples Terceira Alternativa Base: n = 1. Um ´unico elemento est´a ordenado Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 2 / 25
  • 4. Projeto por Indu¸c˜ao Simples Terceira Alternativa Base: n = 1. Um ´unico elemento est´a ordenado H.I.: Sei ordenar um conjunto de n − 1 ≥ 1 valores Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 2 / 25
  • 5. Projeto por Indu¸c˜ao Simples Terceira Alternativa Base: n = 1. Um ´unico elemento est´a ordenado H.I.: Sei ordenar um conjunto de n − 1 ≥ 1 valores Passo: Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 2 / 25
  • 6. Projeto por Indu¸c˜ao Simples Terceira Alternativa Base: n = 1. Um ´unico elemento est´a ordenado H.I.: Sei ordenar um conjunto de n − 1 ≥ 1 valores Passo: Seja S um conjunto de n ≥ 2 valores, e x o maior elemento de S Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 2 / 25
  • 7. Projeto por Indu¸c˜ao Simples Terceira Alternativa Base: n = 1. Um ´unico elemento est´a ordenado H.I.: Sei ordenar um conjunto de n − 1 ≥ 1 valores Passo: Seja S um conjunto de n ≥ 2 valores, e x o maior elemento de S Ent˜ao x certamente ´e o ´ultimo elemento da sequˆencia ordenada de S. Por hip´otese de indu¸c˜ao, sabemos ordenar os demais S − x elementos, e assim obtemos S ordenado Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 2 / 25
  • 8. Projeto por Indu¸c˜ao Simples Terceira Alternativa Base: n = 1. Um ´unico elemento est´a ordenado H.I.: Sei ordenar um conjunto de n − 1 ≥ 1 valores Passo: Seja S um conjunto de n ≥ 2 valores, e x o maior elemento de S Ent˜ao x certamente ´e o ´ultimo elemento da sequˆencia ordenada de S. Por hip´otese de indu¸c˜ao, sabemos ordenar os demais S − x elementos, e assim obtemos S ordenado Varia¸c˜ao do M´etodo da Sele¸c˜ao Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 2 / 25
  • 9. Projeto por Indu¸c˜ao Simples No entanto, se implementarmos de uma forma diferente a sele¸c˜ao e o posicionamento do maior elemento, obteremos o algoritmo da Bolha (Bubble Sort): Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 3 / 25
  • 10. Projeto por Indu¸c˜ao Simples No entanto, se implementarmos de uma forma diferente a sele¸c˜ao e o posicionamento do maior elemento, obteremos o algoritmo da Bolha (Bubble Sort): Bolha(A, n): Entrada: Arranjo A de n valores Sa´ıda: Aranjo A ordenado. para i = n - 1 at´e 1 fa¸ca: para j = 1 at´e i fa¸ca: se A[j-1] > A[j] ent~ao t = A[j-1] A[j-1] = A[j] A[j] = t Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 3 / 25
  • 11. Projeto por Indu¸c˜ao Simples M´etodo da Bolha (iterativo) Usando a nota¸c˜ao O, quantas compara¸c˜oes no arranjo s˜ao feitas no pior caso? Bolha(A, n): para i = n - 1 at´e 1 fa¸ca: para j = 1 at´e i fa¸ca: se A[j-1] > A[j] ent~ao t = A[j-1] A[j-1] = A[j] A[j] = t Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 4 / 25
  • 12. Projeto por Indu¸c˜ao Simples M´etodo da Bolha (iterativo) Usando a nota¸c˜ao O, quantas compara¸c˜oes no arranjo s˜ao feitas no pior caso? Bolha(A, n): para i = n - 1 at´e 1 fa¸ca: para j = 1 at´e i fa¸ca: se A[j-1] > A[j] ent~ao t = A[j-1] A[j-1] = A[j] A[j] = t O(n) Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 4 / 25
  • 13. Projeto por Indu¸c˜ao Simples M´etodo da Bolha (iterativo) Usando a nota¸c˜ao O, quantas compara¸c˜oes no arranjo s˜ao feitas no pior caso? Bolha(A, n): para i = n - 1 at´e 1 fa¸ca: para j = 1 at´e i fa¸ca: se A[j-1] > A[j] ent~ao t = A[j-1] A[j-1] = A[j] A[j] = t O(n) × O(n) Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 4 / 25
  • 14. Projeto por Indu¸c˜ao Simples M´etodo da Bolha (iterativo) Usando a nota¸c˜ao O, quantas compara¸c˜oes no arranjo s˜ao feitas no pior caso? Bolha(A, n): para i = n - 1 at´e 1 fa¸ca: para j = 1 at´e i fa¸ca: se A[j-1] > A[j] ent~ao t = A[j-1] A[j-1] = A[j] A[j] = t O(n) × O(n) = O(n2 ) Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 4 / 25
  • 15. Projeto por Indu¸c˜ao Simples M´etodo da Bolha (iterativo) E quantas trocas de elementos s˜ao feitas no arranjo no pior caso? Bolha(A, n): para i = n - 1 at´e 1 fa¸ca: para j = 1 at´e i fa¸ca: se A[j-1] > A[j] ent~ao t = A[j-1] A[j-1] = A[j] A[j] = t Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 5 / 25
  • 16. Projeto por Indu¸c˜ao Simples M´etodo da Bolha (iterativo) E quantas trocas de elementos s˜ao feitas no arranjo no pior caso? Bolha(A, n): para i = n - 1 at´e 1 fa¸ca: para j = 1 at´e i fa¸ca: se A[j-1] > A[j] ent~ao t = A[j-1] A[j-1] = A[j] A[j] = t O(n) Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 5 / 25
  • 17. Projeto por Indu¸c˜ao Simples M´etodo da Bolha (iterativo) E quantas trocas de elementos s˜ao feitas no arranjo no pior caso? Bolha(A, n): para i = n - 1 at´e 1 fa¸ca: para j = 1 at´e i fa¸ca: se A[j-1] > A[j] ent~ao t = A[j-1] A[j-1] = A[j] A[j] = t O(n) × O(n) Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 5 / 25
  • 18. Projeto por Indu¸c˜ao Simples M´etodo da Bolha (iterativo) E quantas trocas de elementos s˜ao feitas no arranjo no pior caso? Bolha(A, n): para i = n - 1 at´e 1 fa¸ca: para j = 1 at´e i fa¸ca: se A[j-1] > A[j] ent~ao t = A[j-1] A[j-1] = A[j] A[j] = t O(n) × O(n) = O(n2 ) Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 5 / 25
  • 19. Algoritmos de Ordena¸c˜ao Cota Inferior Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 6 / 25
  • 20. Ordena¸c˜ao: Cota Inferior Vimos diversos algoritmos para o problema da ordena¸c˜ao Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 7 / 25
  • 21. Ordena¸c˜ao: Cota Inferior Vimos diversos algoritmos para o problema da ordena¸c˜ao Todos eles tˆem algo em comum: Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 7 / 25
  • 22. Ordena¸c˜ao: Cota Inferior Vimos diversos algoritmos para o problema da ordena¸c˜ao Todos eles tˆem algo em comum: Usam somente compara¸c˜oes entre elementos do conjunto a ser ordenado para definir a posi¸c˜ao relativa desses elementos Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 7 / 25
  • 23. Ordena¸c˜ao: Cota Inferior Vimos diversos algoritmos para o problema da ordena¸c˜ao Todos eles tˆem algo em comum: Usam somente compara¸c˜oes entre elementos do conjunto a ser ordenado para definir a posi¸c˜ao relativa desses elementos Ou seja, o resultado da compara¸c˜ao de xi com xj , i = j, define se xi ser´a posicionado antes ou depois de xj no conjunto ordenado Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 7 / 25
  • 24. Ordena¸c˜ao: Cota Inferior Vimos diversos algoritmos para o problema da ordena¸c˜ao Todos eles tˆem algo em comum: Usam somente compara¸c˜oes entre elementos do conjunto a ser ordenado para definir a posi¸c˜ao relativa desses elementos Ou seja, o resultado da compara¸c˜ao de xi com xj , i = j, define se xi ser´a posicionado antes ou depois de xj no conjunto ordenado Todos os algoritmos d˜ao uma cota superior para o n´umero de compara¸c˜oes efetuadas ao resolver o problema da ordena¸c˜ao Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 7 / 25
  • 25. Ordena¸c˜ao: Cota Inferior A menor cota superior dada pelos algoritmos at´e ent˜ao ´e O(n2 ), relativa ao n´umero de compara¸c˜oes no pior caso Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 8 / 25
  • 26. Ordena¸c˜ao: Cota Inferior A menor cota superior dada pelos algoritmos at´e ent˜ao ´e O(n2 ), relativa ao n´umero de compara¸c˜oes no pior caso Ser´a que ´e poss´ıvel projetar um algoritmo de ordena¸c˜ao baseado em compara¸c˜oes assintoticamente mais eficiente que isso? Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 8 / 25
  • 27. Ordena¸c˜ao: Cota Inferior A menor cota superior dada pelos algoritmos at´e ent˜ao ´e O(n2 ), relativa ao n´umero de compara¸c˜oes no pior caso Ser´a que ´e poss´ıvel projetar um algoritmo de ordena¸c˜ao baseado em compara¸c˜oes assintoticamente mais eficiente que isso? Sim Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 8 / 25
  • 28. Ordena¸c˜ao: Cota Inferior A menor cota superior dada pelos algoritmos at´e ent˜ao ´e O(n2 ), relativa ao n´umero de compara¸c˜oes no pior caso Ser´a que ´e poss´ıvel projetar um algoritmo de ordena¸c˜ao baseado em compara¸c˜oes assintoticamente mais eficiente que isso? Sim Qualquer algoritmo que ordena n elementos, baseado apenas em compara¸c˜oes, efetua no m´ınimo Ω(nlog(n)) compara¸c˜oes no pior caso Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 8 / 25
  • 29. Ordena¸c˜ao: Cota Inferior Para demonstrar isso, vamos representar os algoritmos de ordena¸c˜ao em um modelo computacional abstrato: a ´arvore (bin´aria) de decis˜ao Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 9 / 25
  • 30. Ordena¸c˜ao: Cota Inferior Para demonstrar isso, vamos representar os algoritmos de ordena¸c˜ao em um modelo computacional abstrato: a ´arvore (bin´aria) de decis˜ao ´Arvores de Decis˜ao Uma ´arvore de decis˜ao ´e uma representa¸c˜ao gr´afica formada por um conjunto de n´os, unidos entre si por arestas Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 9 / 25
  • 31. Ordena¸c˜ao: Cota Inferior Para demonstrar isso, vamos representar os algoritmos de ordena¸c˜ao em um modelo computacional abstrato: a ´arvore (bin´aria) de decis˜ao ´Arvores de Decis˜ao Uma ´arvore de decis˜ao ´e uma representa¸c˜ao gr´afica formada por um conjunto de n´os, unidos entre si por arestas Cada n´o representa um ponto de decis˜ao Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 9 / 25
  • 32. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao Cada aresta saindo do n´o representa a decis˜ao tomada, levando a outro n´o, ou seja, a outro ponto de decis˜ao Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 10 / 25
  • 33. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao Cada aresta saindo do n´o representa a decis˜ao tomada, levando a outro n´o, ou seja, a outro ponto de decis˜ao Toda a representa¸c˜ao come¸ca em um n´o inicial, a raiz da ´arvore, que representa o primeiro ponto de decis˜ao Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 10 / 25
  • 34. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao Cada aresta saindo do n´o representa a decis˜ao tomada, levando a outro n´o, ou seja, a outro ponto de decis˜ao Toda a representa¸c˜ao come¸ca em um n´o inicial, a raiz da ´arvore, que representa o primeiro ponto de decis˜ao Terminando ent˜ao nos resultados finais das decis˜oes, as folhas, a partir das quais mais nenhuma decis˜ao ´e tomada Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 10 / 25
  • 35. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao No caso das ´arvores bin´arias de decis˜ao, cada n´o possui apenas duas sub´arvores Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 11 / 25
  • 36. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao No caso das ´arvores bin´arias de decis˜ao, cada n´o possui apenas duas sub´arvores Tipicamente, as duas sub´arvores representam os caminhos a serem seguidos conforme o resultado (verdadeiro ou falso) da compara¸c˜ao efetuada Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 11 / 25
  • 37. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao No caso das ´arvores bin´arias de decis˜ao, cada n´o possui apenas duas sub´arvores Tipicamente, as duas sub´arvores representam os caminhos a serem seguidos conforme o resultado (verdadeiro ou falso) da compara¸c˜ao efetuada As folhas s˜ao as respostas poss´ıveis do algoritmo ap´os as decis˜oes tomadas ao longo dos caminhos da raiz at´e as folhas Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 11 / 25
  • 38. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 12 / 25
  • 39. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao n´os Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 12 / 25
  • 40. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao arestas Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 12 / 25
  • 41. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao raiz Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 12 / 25
  • 42. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao folhas Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 12 / 25
  • 43. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao sub´arvore Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 12 / 25
  • 44. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao No caso da ordena¸c˜ao, os n´os internos representam compara¸c˜oes feitas pelo algoritmo Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 13 / 25
  • 45. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao No caso da ordena¸c˜ao, os n´os internos representam compara¸c˜oes feitas pelo algoritmo As arestas representam os poss´ıveis resultados dessas compara¸c˜oes Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 13 / 25
  • 46. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao No caso da ordena¸c˜ao, os n´os internos representam compara¸c˜oes feitas pelo algoritmo As arestas representam os poss´ıveis resultados dessas compara¸c˜oes E as sub´arvores de cada n´o interno representam possibilidades de continuidade das a¸c˜oes do algoritmo ap´os a compara¸c˜ao Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 13 / 25
  • 47. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao – Ordena¸c˜ao Considere a seguinte defini¸c˜ao alternativa do problema da ordena¸c˜ao: Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 14 / 25
  • 48. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao – Ordena¸c˜ao Considere a seguinte defini¸c˜ao alternativa do problema da ordena¸c˜ao: Dado um conjunto de n valores x1, x2, . . . , xn, encontre uma permuta¸c˜ao p dos ´ındices 1 ≤ i ≤ n tal que xp(1) ≤ xp(2) ≤ . . . ≤ xp(n) Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 14 / 25
  • 49. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao – Ordena¸c˜ao Considere a seguinte defini¸c˜ao alternativa do problema da ordena¸c˜ao: Dado um conjunto de n valores x1, x2, . . . , xn, encontre uma permuta¸c˜ao p dos ´ındices 1 ≤ i ≤ n tal que xp(1) ≤ xp(2) ≤ . . . ≤ xp(n) Representaremos uma permuta¸c˜ao como p(1), p(2), . . . , p(n) , significando uma ordem espec´ıfica dos valores x1, x2, . . . , xn Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 14 / 25
  • 50. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao – Ordena¸c˜ao Considere a seguinte defini¸c˜ao alternativa do problema da ordena¸c˜ao: Dado um conjunto de n valores x1, x2, . . . , xn, encontre uma permuta¸c˜ao p dos ´ındices 1 ≤ i ≤ n tal que xp(1) ≤ xp(2) ≤ . . . ≤ xp(n) Representaremos uma permuta¸c˜ao como p(1), p(2), . . . , p(n) , significando uma ordem espec´ıfica dos valores x1, x2, . . . , xn Ex: 3, 1, 2 significa a permuta¸c˜ao x3, x1, x2 da entrada x1, x2, x3 Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 14 / 25
  • 51. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao – Ordena¸c˜ao ´E poss´ıvel representar um algoritmo para o problema da ordena¸c˜ao atrav´es de uma ´arvore de decis˜ao da seguinte forma: Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 15 / 25
  • 52. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao – Ordena¸c˜ao ´E poss´ıvel representar um algoritmo para o problema da ordena¸c˜ao atrav´es de uma ´arvore de decis˜ao da seguinte forma: Os n´os internos representam compara¸c˜oes entre dois elementos do conjunto, ex: xi ≤ xj Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 15 / 25
  • 53. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao – Ordena¸c˜ao ´E poss´ıvel representar um algoritmo para o problema da ordena¸c˜ao atrav´es de uma ´arvore de decis˜ao da seguinte forma: Os n´os internos representam compara¸c˜oes entre dois elementos do conjunto, ex: xi ≤ xj As ramifica¸c˜oes representam os poss´ıveis resultados da compara¸c˜ao: verdadeiro se xi ≤ xj , ou falso se xi > xj Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 15 / 25
  • 54. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao – Ordena¸c˜ao ´E poss´ıvel representar um algoritmo para o problema da ordena¸c˜ao atrav´es de uma ´arvore de decis˜ao da seguinte forma: Os n´os internos representam compara¸c˜oes entre dois elementos do conjunto, ex: xi ≤ xj As ramifica¸c˜oes representam os poss´ıveis resultados da compara¸c˜ao: verdadeiro se xi ≤ xj , ou falso se xi > xj As folhas representam poss´ıveis solu¸c˜oes: as diferentes permuta¸c˜oes dos n ´ındices Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 15 / 25
  • 55. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao: Ordena¸c˜ao Ex: ´Arvore de decis˜ao para o m´etodo da Inser¸c˜ao, com arranjo de 3 elementos: x1 ≤ x2 x2 ≤ x3 x1 ≤ x3 sim n˜ao 1, 2, 3 x1 ≤ x3 sim n˜ao 2, 1, 3 x2 ≤ x3 sim n˜ao 1, 3, 2 3, 1, 2 sim n˜ao 2, 3, 1 3, 2, 1 sim n˜ao Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 16 / 25
  • 56. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao: Ordena¸c˜ao Ex: ´Arvore de decis˜ao para o m´etodo da Inser¸c˜ao, com arranjo de 3 elementos: x1 ≤ x2 x2 ≤ x3 x1 ≤ x3 sim n˜ao 1, 2, 3 x1 ≤ x3 sim n˜ao 2, 1, 3 x2 ≤ x3 sim n˜ao 1, 3, 2 3, 1, 2 sim n˜ao 2, 3, 1 3, 2, 1 sim n˜ao permuta¸c˜oes Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 16 / 25
  • 57. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao: Ordena¸c˜ao Ex: ´Arvore de decis˜ao para o m´etodo da Inser¸c˜ao, com arranjo de 3 elementos: x1 ≤ x2 x2 ≤ x3 x1 ≤ x3 sim n˜ao 1, 2, 3 x1 ≤ x3 sim n˜ao 2, 1, 3 x2 ≤ x3 sim n˜ao 1, 3, 2 3, 1, 2 sim n˜ao 2, 3, 1 3, 2, 1 sim n˜ao 1, 2, 3 significa a permuta¸c˜ao x1, x2, x3 da entrada Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 16 / 25
  • 58. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao: Ordena¸c˜ao Ex: Entrada x1 = 6, x2 = 8, x3 = 5 x1 ≤ x2 x2 ≤ x3 x1 ≤ x3 sim n˜ao 1, 2, 3 x1 ≤ x3 sim n˜ao 2, 1, 3 x2 ≤ x3 sim n˜ao 1, 3, 2 3, 1, 2 sim n˜ao 2, 3, 1 3, 2, 1 sim n˜ao Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 17 / 25
  • 59. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao: Ordena¸c˜ao Ex: Entrada x1 = 6, x2 = 8, x3 = 5 x1 ≤ x2 x2 ≤ x3 x1 ≤ x3 sim n˜ao 1, 2, 3 x1 ≤ x3 sim n˜ao 2, 1, 3 x2 ≤ x3 sim n˜ao 1, 3, 2 3, 1, 2 sim n˜ao 2, 3, 1 3, 2, 1 sim n˜ao Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 17 / 25
  • 60. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao: Ordena¸c˜ao Ex: Entrada x1 = 6, x2 = 8, x3 = 5 x1 ≤ x2 x2 ≤ x3 x1 ≤ x3 sim n˜ao 1, 2, 3 x1 ≤ x3 sim n˜ao 2, 1, 3 x2 ≤ x3 sim n˜ao 1, 3, 2 3, 1, 2 sim n˜ao 2, 3, 1 3, 2, 1 sim n˜ao Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 17 / 25
  • 61. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao: Ordena¸c˜ao Ex: Entrada x1 = 6, x2 = 8, x3 = 5 x1 ≤ x2 x2 ≤ x3 x1 ≤ x3 sim n˜ao 1, 2, 3 x1 ≤ x3 sim n˜ao 2, 1, 3 x2 ≤ x3 sim n˜ao 1, 3, 2 3, 1, 2 sim n˜ao 2, 3, 1 3, 2, 1 sim n˜ao Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 17 / 25
  • 62. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao: Ordena¸c˜ao Ex: Entrada x1 = 6, x2 = 8, x3 = 5 x1 ≤ x2 x2 ≤ x3 x1 ≤ x3 sim n˜ao 1, 2, 3 x1 ≤ x3 sim n˜ao 2, 1, 3 x2 ≤ x3 sim n˜ao 1, 3, 2 3, 1, 2 sim n˜ao 2, 3, 1 3, 2, 1 sim n˜ao Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 17 / 25
  • 63. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao: Ordena¸c˜ao Ex: Entrada x1 = 6, x2 = 8, x3 = 5 x1 ≤ x2 x2 ≤ x3 x1 ≤ x3 sim n˜ao 1, 2, 3 x1 ≤ x3 sim n˜ao 2, 1, 3 x2 ≤ x3 sim n˜ao 1, 3, 2 3, 1, 2 sim n˜ao 2, 3, 1 3, 2, 1 sim n˜ao Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 17 / 25
  • 64. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao: Ordena¸c˜ao Ex: Entrada x1 = 6, x2 = 8, x3 = 5 x1 ≤ x2 x2 ≤ x3 x1 ≤ x3 sim n˜ao 1, 2, 3 x1 ≤ x3 sim n˜ao 2, 1, 3 x2 ≤ x3 sim n˜ao 1, 3, 2 3, 1, 2 sim n˜ao 2, 3, 1 3, 2, 1 sim n˜ao Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 17 / 25
  • 65. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao: Ordena¸c˜ao Ex: Entrada x1 = 6, x2 = 8, x3 = 5 x1 ≤ x2 x2 ≤ x3 x1 ≤ x3 sim n˜ao 1, 2, 3 x1 ≤ x3 sim n˜ao 2, 1, 3 x2 ≤ x3 sim n˜ao 1, 3, 2 3, 1, 2 sim n˜ao 2, 3, 1 3, 2, 1 sim n˜ao Resp: x3, x1, x2 Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 17 / 25
  • 66. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao: Ordena¸c˜ao Ao representarmos um algoritmo de ordena¸c˜ao baseado em compara¸c˜oes com uma ´arvore bin´aria de decis˜ao, todas as permuta¸c˜oes de n elementos devem ser poss´ıveis solu¸c˜oes Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 18 / 25
  • 67. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao: Ordena¸c˜ao Ao representarmos um algoritmo de ordena¸c˜ao baseado em compara¸c˜oes com uma ´arvore bin´aria de decis˜ao, todas as permuta¸c˜oes de n elementos devem ser poss´ıveis solu¸c˜oes Assim, a ´arvore bin´aria de decis˜ao deve ter pelo menos n! folhas Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 18 / 25
  • 68. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao: Ordena¸c˜ao Ao representarmos um algoritmo de ordena¸c˜ao baseado em compara¸c˜oes com uma ´arvore bin´aria de decis˜ao, todas as permuta¸c˜oes de n elementos devem ser poss´ıveis solu¸c˜oes Assim, a ´arvore bin´aria de decis˜ao deve ter pelo menos n! folhas Pode ter mais, pois nada impede que duas sequˆencias distintas de decis˜oes terminem no mesmo resultado Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 18 / 25
  • 69. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao: Ordena¸c˜ao A execu¸c˜ao do algoritmo de ordena¸c˜ao corresponde a tra¸car um caminho da raiz a uma folha Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 19 / 25
  • 70. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao: Ordena¸c˜ao A execu¸c˜ao do algoritmo de ordena¸c˜ao corresponde a tra¸car um caminho da raiz a uma folha x1 ≤ x2 x2 ≤ x3 x1 ≤ x3 sim n˜ao 1, 2, 3 x1 ≤ x3 sim n˜ao 2, 1, 3 x2 ≤ x3 sim n˜ao 1, 3, 2 3, 1, 2 sim n˜ao 2, 3, 1 3, 2, 1 sim n˜ao Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 19 / 25
  • 71. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao: Ordena¸c˜ao A execu¸c˜ao do algoritmo de ordena¸c˜ao corresponde a tra¸car um caminho da raiz a uma folha x1 ≤ x2 x2 ≤ x3 x1 ≤ x3 sim n˜ao 1, 2, 3 x1 ≤ x3 sim n˜ao 2, 1, 3 x2 ≤ x3 sim n˜ao 1, 3, 2 3, 1, 2 sim n˜ao 2, 3, 1 3, 2, 1 sim n˜ao O caminho mais longo da raiz a uma folha representa o pior caso de execu¸c˜ao do algoritmo Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 19 / 25
  • 72. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao: Ordena¸c˜ao A altura de uma ´arvore bin´aria de decis˜ao representa o n´umero de compara¸c˜oes, no pior caso, que o algoritmo por ela representado executa Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 20 / 25
  • 73. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao: Ordena¸c˜ao A altura de uma ´arvore bin´aria de decis˜ao representa o n´umero de compara¸c˜oes, no pior caso, que o algoritmo por ela representado executa A altura (h) de uma ´arvore ´e o comprimento do caminho mais longo da raiz at´e qualquer uma de suas folhas Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 20 / 25
  • 74. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao: Ordena¸c˜ao A altura de uma ´arvore bin´aria de decis˜ao representa o n´umero de compara¸c˜oes, no pior caso, que o algoritmo por ela representado executa A altura (h) de uma ´arvore ´e o comprimento do caminho mais longo da raiz at´e qualquer uma de suas folhas Ent˜ao um limite inferior nas alturas de todas as ´arvores de decis˜ao nas quais cada permuta¸c˜ao aparece em uma folha ´e um limite inferior para o tempo de execu¸c˜ao de qualquer algoritmo de ordena¸c˜ao baseado em compara¸c˜oes Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 20 / 25
  • 75. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao: Ordena¸c˜ao E qual ´e esse limite? Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 21 / 25
  • 76. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao: Ordena¸c˜ao E qual ´e esse limite? Na busca bin´aria, vimos que uma ´arvore bin´aria de decis˜ao T com altura h tem, no m´aximo, 2h folhas Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 21 / 25
  • 77. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao: Ordena¸c˜ao E qual ´e esse limite? Na busca bin´aria, vimos que uma ´arvore bin´aria de decis˜ao T com altura h tem, no m´aximo, 2h folhas Portanto, se T tem n! folhas, ent˜ao n! ≤ 2h , ou seja h ≥ log2(n!) Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 21 / 25
  • 78. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao: Ordena¸c˜ao log2(n!) = log2( n i=1 i) Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 22 / 25
  • 79. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao: Ordena¸c˜ao log2(n!) = log2( n i=1 i) = n i=1 log2(i) Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 22 / 25
  • 80. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao: Ordena¸c˜ao log2(n!) = log2( n i=1 i) = n i=1 log2(i) ≥ n i=n/2 log2(i) Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 22 / 25
  • 81. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao: Ordena¸c˜ao log2(n!) = log2( n i=1 i) = n i=1 log2(i) ≥ n i=n/2 log2(i) ≥ n i=n/2 log2( n 2 ) Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 22 / 25
  • 82. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao: Ordena¸c˜ao log2(n!) = log2( n i=1 i) = n i=1 log2(i) ≥ n i=n/2 log2(i) ≥ n i=n/2 log2( n 2 ) = (n − n 2 )log2(n 2 ) Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 22 / 25
  • 83. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao: Ordena¸c˜ao log2(n!) ≥ (n − n 2 )log2(n 2 ) Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 23 / 25
  • 84. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao: Ordena¸c˜ao log2(n!) ≥ (n − n 2 )log2(n 2 ) = n 2 log2(n 2 ) Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 23 / 25
  • 85. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao: Ordena¸c˜ao log2(n!) ≥ (n − n 2 )log2(n 2 ) = n 2 log2(n 2 ) = n 2 (log2(n) − log22) Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 23 / 25
  • 86. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao: Ordena¸c˜ao log2(n!) ≥ (n − n 2 )log2(n 2 ) = n 2 log2(n 2 ) = n 2 (log2(n) − log22) = n 2 (log2(n) − 1) Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 23 / 25
  • 87. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao: Ordena¸c˜ao log2(n!) ≥ (n − n 2 )log2(n 2 ) = n 2 log2(n 2 ) = n 2 (log2(n) − log22) = n 2 (log2(n) − 1) = n 2 log2(n) − n 2 Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 23 / 25
  • 88. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao: Ordena¸c˜ao log2(n!) ≥ (n − n 2 )log2(n 2 ) = n 2 log2(n 2 ) = n 2 (log2(n) − log22) = n 2 (log2(n) − 1) = n 2 log2(n) − n 2 = Ω(nlog2(n)), n ≥ 4, c = 1 4 Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 23 / 25
  • 89. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao: Ordena¸c˜ao Portanto, h = Ω(nlog(n)) Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 24 / 25
  • 90. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao: Ordena¸c˜ao Portanto, h = Ω(nlog(n)) Lembrando que a altura h representa o n´umero de compara¸c˜oes, no pior caso, que o algoritmo executa Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 24 / 25
  • 91. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao: Ordena¸c˜ao Portanto, h = Ω(nlog(n)) Lembrando que a altura h representa o n´umero de compara¸c˜oes, no pior caso, que o algoritmo executa Temos ent˜ao uma cota inferior para ordena¸c˜ao baseada em compara¸c˜oes Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 24 / 25
  • 92. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao: Ordena¸c˜ao Portanto, h = Ω(nlog(n)) Lembrando que a altura h representa o n´umero de compara¸c˜oes, no pior caso, que o algoritmo executa Temos ent˜ao uma cota inferior para ordena¸c˜ao baseada em compara¸c˜oes Mas nossos algoritmos, at´e agora, s˜ao Θ(n2 ) ⇒ Ω(n2 ) Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 24 / 25
  • 93. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao: Ordena¸c˜ao Portanto, h = Ω(nlog(n)) Lembrando que a altura h representa o n´umero de compara¸c˜oes, no pior caso, que o algoritmo executa Temos ent˜ao uma cota inferior para ordena¸c˜ao baseada em compara¸c˜oes Mas nossos algoritmos, at´e agora, s˜ao Θ(n2 ) ⇒ Ω(n2 ) Haveria algum algoritmo de ordena¸c˜ao, baseado em compara¸c˜oes, que seja Θ(nlog(n))? Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 24 / 25
  • 94. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao: Ordena¸c˜ao Portanto, h = Ω(nlog(n)) Lembrando que a altura h representa o n´umero de compara¸c˜oes, no pior caso, que o algoritmo executa Temos ent˜ao uma cota inferior para ordena¸c˜ao baseada em compara¸c˜oes Mas nossos algoritmos, at´e agora, s˜ao Θ(n2 ) ⇒ Ω(n2 ) Haveria algum algoritmo de ordena¸c˜ao, baseado em compara¸c˜oes, que seja Θ(nlog(n))? Ou seja, um algoritmo ´otimo Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 24 / 25
  • 95. Ordena¸c˜ao: Cota Inferior ´Arvores de Decis˜ao: Ordena¸c˜ao Portanto, h = Ω(nlog(n)) Lembrando que a altura h representa o n´umero de compara¸c˜oes, no pior caso, que o algoritmo executa Temos ent˜ao uma cota inferior para ordena¸c˜ao baseada em compara¸c˜oes Mas nossos algoritmos, at´e agora, s˜ao Θ(n2 ) ⇒ Ω(n2 ) Haveria algum algoritmo de ordena¸c˜ao, baseado em compara¸c˜oes, que seja Θ(nlog(n))? Ou seja, um algoritmo ´otimo Na pr´oxima aula... Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 24 / 25
  • 96. Referˆencias Cormen, Thomas H., Leiserson, Charles E., Rivest, Ronald L., Stein, Clifford. Introduction to Algorithms. 2a ed. MIT Press, 2001. Material baseado em slides dos professores Cid de Souza, Cˆandida da Silva e Delano Beder Norton Trevisan Romannorton@usp.br Aula 13 – Algoritmos de Ordena¸c˜ao: Modelo Incremental e Cota Inferior2 de outubro de 2018 25 / 25