análise de algoritmos aula 02 - ufpran alise de algoritmos aula 02 prof. murilo v. g. da silva...

104
An´ alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr´ e Guedes, Renato Carmo, Murilo da Silva)

Upload: others

Post on 22-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Analise de AlgoritmosAula 02

Prof. Murilo V. G. da Silva

DINF/UFPR

(material da disciplina: Andre Guedes, Renato Carmo, Murilo da Silva)

Page 2: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Analisando um algoritmo (sem uso de notacao assintotica)

Busca Sequencial:

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 3: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Analisando um algoritmo (sem uso de notacao assintotica)

Problema de hoje: Busca em Vetor Ordenado (BVO)

Vamos aos nosso “mantra” para a Busca Sequencial:

(0) Que problema resolve?

(1) Esta correto?

(2) Quanto custa?

(3) E possıvel fazer melhor?

Perguntas (0) e (1):

Resposta para (0): BVO (*)

Resposta para (1): Exercıcio 1

Perguntas (2) e (3):

Gastaremos boa parte da aula com isso...

(*) Observe que Busca sequencial resolve um problema mais geral que BVO, mas nosso foco e BVO aqui, entao e

correto afirmar que ela resolve BVO.

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 4: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Analisando um algoritmo (sem uso de notacao assintotica)

Problema de hoje: Busca em Vetor Ordenado (BVO)

Vamos aos nosso “mantra” para a Busca Sequencial:

(0) Que problema resolve?

(1) Esta correto?

(2) Quanto custa?

(3) E possıvel fazer melhor?

Perguntas (0) e (1):

Resposta para (0): BVO (*)

Resposta para (1): Exercıcio 1

Perguntas (2) e (3):

Gastaremos boa parte da aula com isso...

(*) Observe que Busca sequencial resolve um problema mais geral que BVO, mas nosso foco e BVO aqui, entao e

correto afirmar que ela resolve BVO.

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 5: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Analisando um algoritmo (sem uso de notacao assintotica)

Problema de hoje: Busca em Vetor Ordenado (BVO)

Vamos aos nosso “mantra” para a Busca Sequencial:

(0) Que problema resolve?

(1) Esta correto?

(2) Quanto custa?

(3) E possıvel fazer melhor?

Perguntas (0) e (1):

Resposta para (0): BVO (*)

Resposta para (1): Exercıcio 1

Perguntas (2) e (3):

Gastaremos boa parte da aula com isso...

(*) Observe que Busca sequencial resolve um problema mais geral que BVO, mas nosso foco e BVO aqui, entao e

correto afirmar que ela resolve BVO.

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 6: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Analisando um algoritmo (sem uso de notacao assintotica)

Problema de hoje: Busca em Vetor Ordenado (BVO)

Vamos aos nosso “mantra” para a Busca Sequencial:

(0) Que problema resolve?

(1) Esta correto?

(2) Quanto custa?

(3) E possıvel fazer melhor?

Perguntas (0) e (1):

Resposta para (0): BVO (*)

Resposta para (1): Exercıcio 1

Perguntas (2) e (3):

Gastaremos boa parte da aula com isso...

(*) Observe que Busca sequencial resolve um problema mais geral que BVO, mas nosso foco e BVO aqui, entao e

correto afirmar que ela resolve BVO.

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 7: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Analisando um algoritmo (sem uso de notacao assintotica)

Problema de hoje: Busca em Vetor Ordenado (BVO)

Vamos aos nosso “mantra” para a Busca Sequencial:

(0) Que problema resolve?

(1) Esta correto?

(2) Quanto custa?

(3) E possıvel fazer melhor?

Perguntas (0) e (1):

Resposta para (0): BVO (*)

Resposta para (1): Exercıcio 1

Perguntas (2) e (3):

Gastaremos boa parte da aula com isso...

(*) Observe que Busca sequencial resolve um problema mais geral que BVO, mas nosso foco e BVO aqui, entao e

correto afirmar que ela resolve BVO.

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 8: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Analisando um algoritmo (sem uso de notacao assintotica)

Problema de hoje: Busca em Vetor Ordenado (BVO)

Vamos aos nosso “mantra” para a Busca Sequencial:

(0) Que problema resolve?

(1) Esta correto?

(2) Quanto custa?

(3) E possıvel fazer melhor?

Perguntas (0) e (1):

Resposta para (0): BVO (*)

Resposta para (1): Exercıcio 1

Perguntas (2) e (3):

Gastaremos boa parte da aula com isso...

(*) Observe que Busca sequencial resolve um problema mais geral que BVO, mas nosso foco e BVO aqui, entao e

correto afirmar que ela resolve BVO.

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 9: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Analisando um algoritmo (sem uso de notacao assintotica)

Problema de hoje: Busca em Vetor Ordenado (BVO)

Vamos aos nosso “mantra” para a Busca Sequencial:

(0) Que problema resolve?

(1) Esta correto?

(2) Quanto custa?

(3) E possıvel fazer melhor?

Perguntas (0) e (1):

Resposta para (0): BVO (*)

Resposta para (1): Exercıcio 1

Perguntas (2) e (3):

Gastaremos boa parte da aula com isso...

(*) Observe que Busca sequencial resolve um problema mais geral que BVO, mas nosso foco e BVO aqui, entao e

correto afirmar que ela resolve BVO.

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 10: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Analisando um algoritmo (sem uso de notacao assintotica)

Problema de hoje: Busca em Vetor Ordenado (BVO)

Vamos aos nosso “mantra” para a Busca Sequencial:

(0) Que problema resolve?

(1) Esta correto?

(2) Quanto custa?

(3) E possıvel fazer melhor?

Perguntas (0) e (1):

Resposta para (0): BVO

(*)

Resposta para (1): Exercıcio 1

Perguntas (2) e (3):

Gastaremos boa parte da aula com isso...

(*) Observe que Busca sequencial resolve um problema mais geral que BVO, mas nosso foco e BVO aqui, entao e

correto afirmar que ela resolve BVO.

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 11: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Analisando um algoritmo (sem uso de notacao assintotica)

Problema de hoje: Busca em Vetor Ordenado (BVO)

Vamos aos nosso “mantra” para a Busca Sequencial:

(0) Que problema resolve?

(1) Esta correto?

(2) Quanto custa?

(3) E possıvel fazer melhor?

Perguntas (0) e (1):

Resposta para (0): BVO (*)

Resposta para (1): Exercıcio 1

Perguntas (2) e (3):

Gastaremos boa parte da aula com isso...

(*) Observe que Busca sequencial resolve um problema mais geral que BVO, mas nosso foco e BVO aqui, entao e

correto afirmar que ela resolve BVO.

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 12: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Analisando um algoritmo (sem uso de notacao assintotica)

Problema de hoje: Busca em Vetor Ordenado (BVO)

Vamos aos nosso “mantra” para a Busca Sequencial:

(0) Que problema resolve?

(1) Esta correto?

(2) Quanto custa?

(3) E possıvel fazer melhor?

Perguntas (0) e (1):

Resposta para (0): BVO (*)

Resposta para (1): Exercıcio 1

Perguntas (2) e (3):

Gastaremos boa parte da aula com isso...

(*) Observe que Busca sequencial resolve um problema mais geral que BVO, mas nosso foco e BVO aqui, entao e

correto afirmar que ela resolve BVO.

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 13: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Analisando um algoritmo (sem uso de notacao assintotica)

Problema de hoje: Busca em Vetor Ordenado (BVO)

Vamos aos nosso “mantra” para a Busca Sequencial:

(0) Que problema resolve?

(1) Esta correto?

(2) Quanto custa?

(3) E possıvel fazer melhor?

Perguntas (0) e (1):

Resposta para (0): BVO (*)

Resposta para (1): Exercıcio 1

Perguntas (2) e (3):

Gastaremos boa parte da aula com isso...

(*) Observe que Busca sequencial resolve um problema mais geral que BVO, mas nosso foco e BVO aqui, entao e

correto afirmar que ela resolve BVO.

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 14: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Analisando um algoritmo (sem uso de notacao assintotica)

Problema de hoje: Busca em Vetor Ordenado (BVO)

Vamos aos nosso “mantra” para a Busca Sequencial:

(0) Que problema resolve?

(1) Esta correto?

(2) Quanto custa?

(3) E possıvel fazer melhor?

Perguntas (0) e (1):

Resposta para (0): BVO (*)

Resposta para (1): Exercıcio 1

Perguntas (2) e (3):

Gastaremos boa parte da aula com isso...

(*) Observe que Busca sequencial resolve um problema mais geral que BVO, mas nosso foco e BVO aqui, entao e

correto afirmar que ela resolve BVO.

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 15: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Analisando um algoritmo (sem uso de notacao assintotica)

Problema de hoje: Busca em Vetor Ordenado (BVO)

Vamos aos nosso “mantra” para a Busca Sequencial:

(0) Que problema resolve?

(1) Esta correto?

(2) Quanto custa?

(3) E possıvel fazer melhor?

Perguntas (0) e (1):

Resposta para (0): BVO (*)

Resposta para (1): Exercıcio 1

Perguntas (2) e (3):

Gastaremos boa parte da aula com isso...

(*) Observe que Busca sequencial resolve um problema mais geral que BVO, mas nosso foco e BVO aqui, entao e

correto afirmar que ela resolve BVO.

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 16: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Quanto Custa?

Qual o significado de “custo”?

Vamos estabelecer que, nesta analise, “custo” tem o sentido de “tempomaximo de execucao em funcao do tamanho do vetor v”.

Seja: si o tempo para executar a i-esima linha do Algoritmo S, i ∈ [1..5]

TS (x , v , a, b) o tempo para executar S(x,v,a,b)

Estabelecemos que o “custo” do Algoritmo S e dado pela funcao:

S+(n) = max{TS (x , v , a, b): v tem n = b − a + 1 elementos}

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 17: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Quanto Custa?

Qual o significado de “custo”?

Vamos estabelecer que, nesta analise, “custo” tem o sentido de “tempomaximo de execucao em funcao do tamanho do vetor v”.

Seja: si o tempo para executar a i-esima linha do Algoritmo S, i ∈ [1..5]

TS (x , v , a, b) o tempo para executar S(x,v,a,b)

Estabelecemos que o “custo” do Algoritmo S e dado pela funcao:

S+(n) = max{TS (x , v , a, b): v tem n = b − a + 1 elementos}

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 18: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Quanto Custa?

Qual o significado de “custo”?

Vamos estabelecer que, nesta analise, “custo” tem o sentido de “tempomaximo de execucao em funcao do tamanho do vetor v”.

Seja: si o tempo para executar a i-esima linha do Algoritmo S, i ∈ [1..5]

TS (x , v , a, b) o tempo para executar S(x,v,a,b)

Estabelecemos que o “custo” do Algoritmo S e dado pela funcao:

S+(n) = max{TS (x , v , a, b): v tem n = b − a + 1 elementos}

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 19: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Quanto Custa?

Qual o significado de “custo”?

Vamos estabelecer que, nesta analise, “custo” tem o sentido de “tempomaximo de execucao em funcao do tamanho do vetor v”.

Seja: si o tempo para executar a i-esima linha do Algoritmo S,

i ∈ [1..5]

TS (x , v , a, b) o tempo para executar S(x,v,a,b)

Estabelecemos que o “custo” do Algoritmo S e dado pela funcao:

S+(n) = max{TS (x , v , a, b): v tem n = b − a + 1 elementos}

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 20: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Quanto Custa?

Qual o significado de “custo”?

Vamos estabelecer que, nesta analise, “custo” tem o sentido de “tempomaximo de execucao em funcao do tamanho do vetor v”.

Seja: si o tempo para executar a i-esima linha do Algoritmo S, i ∈ [1..5]

TS (x , v , a, b) o tempo para executar S(x,v,a,b)

Estabelecemos que o “custo” do Algoritmo S e dado pela funcao:

S+(n) = max{TS (x , v , a, b): v tem n = b − a + 1 elementos}

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 21: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Quanto Custa?

Qual o significado de “custo”?

Vamos estabelecer que, nesta analise, “custo” tem o sentido de “tempomaximo de execucao em funcao do tamanho do vetor v”.

Seja: si o tempo para executar a i-esima linha do Algoritmo S, i ∈ [1..5]

TS (x , v , a, b) o tempo para executar S(x,v,a,b)

Estabelecemos que o “custo” do Algoritmo S e dado pela funcao:

S+(n) = max{TS (x , v , a, b): v tem n = b − a + 1 elementos}

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 22: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Quanto Custa?

Qual o significado de “custo”?

Vamos estabelecer que, nesta analise, “custo” tem o sentido de “tempomaximo de execucao em funcao do tamanho do vetor v”.

Seja: si o tempo para executar a i-esima linha do Algoritmo S, i ∈ [1..5]

TS (x , v , a, b) o tempo para executar S(x,v,a,b)

Estabelecemos que o “custo” do Algoritmo S e dado pela funcao:

S+(n) = max{TS (x , v , a, b): v tem n = b − a + 1 elementos}

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 23: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Quanto Custa?

Qual o significado de “custo”?

Vamos estabelecer que, nesta analise, “custo” tem o sentido de “tempomaximo de execucao em funcao do tamanho do vetor v”.

Seja: si o tempo para executar a i-esima linha do Algoritmo S, i ∈ [1..5]

TS (x , v , a, b) o tempo para executar S(x,v,a,b)

Estabelecemos que o “custo” do Algoritmo S e dado pela funcao:

S+(n) = max{TS (x , v , a, b): v tem n = b − a + 1 elementos}

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 24: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

(3) Quanto custa? (cont.)

A funcao S+(n) aqui representa o tempo de execucao no pior caso.

Poderıamos usar varios outras funcoes dependendo do que queremos analisar).

S+(n) =

{s1 + s2, se n = 0,

s1 + s3 + S+(n − 1), se n > 0,

Resolvendo a recorrencia (Exercıcio 2), temos

S+(n) = c2n + c1,

onde c1 = s1 + s2 e c2 = s1 + s3 por questao de clareza

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 25: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

(3) Quanto custa? (cont.)

A funcao S+(n) aqui representa o tempo de execucao no pior caso.Poderıamos usar varios outras funcoes dependendo do que queremos analisar).

S+(n) =

{s1 + s2, se n = 0,

s1 + s3 + S+(n − 1), se n > 0,

Resolvendo a recorrencia (Exercıcio 2), temos

S+(n) = c2n + c1,

onde c1 = s1 + s2 e c2 = s1 + s3 por questao de clareza

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 26: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

(3) Quanto custa? (cont.)

A funcao S+(n) aqui representa o tempo de execucao no pior caso.Poderıamos usar varios outras funcoes dependendo do que queremos analisar).

S+(n) =

{s1 + s2, se n = 0,

s1 + s3 + S+(n − 1), se n > 0,

Resolvendo a recorrencia (Exercıcio 2), temos

S+(n) = c2n + c1,

onde c1 = s1 + s2 e c2 = s1 + s3 por questao de clareza

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 27: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

(3) Quanto custa? (cont.)

A funcao S+(n) aqui representa o tempo de execucao no pior caso.Poderıamos usar varios outras funcoes dependendo do que queremos analisar).

S+(n) =

{s1 + s2, se n = 0,

s1 + s3 + S+(n − 1), se n > 0,

Resolvendo a recorrencia (Exercıcio 2), temos

S+(n) = c2n + c1,

onde c1 = s1 + s2 e c2 = s1 + s3 por questao de clareza

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 28: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

(3) Quanto custa? (cont.)

A funcao S+(n) aqui representa o tempo de execucao no pior caso.Poderıamos usar varios outras funcoes dependendo do que queremos analisar).

S+(n) =

{s1 + s2, se n = 0,

s1 + s3 + S+(n − 1), se n > 0,

Resolvendo a recorrencia (Exercıcio 2), temos

S+(n) = c2n + c1,

onde c1 = s1 + s2 e c2 = s1 + s3 por questao de clareza

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 29: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

(3) Quanto custa? (cont.)

A funcao S+(n) aqui representa o tempo de execucao no pior caso.Poderıamos usar varios outras funcoes dependendo do que queremos analisar).

S+(n) =

{s1 + s2, se n = 0,

s1 + s3 + S+(n − 1), se n > 0,

Resolvendo a recorrencia (Exercıcio 2), temos

S+(n) = c2n + c1,

onde c1 = s1 + s2 e c2 = s1 + s3 por questao de clareza

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 30: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Mantra: (3) E possıvel fazer melhor?

Resposta: Sim, usando Busca Binaria

Para tal, vamos Analisar a Busca Binaria e provar que ela e melhor

Note: O Algoritmo de Busca Binaria deve

Resolver o mesmo problema de interesse (BVO)Estar corretoCustar menos que o algoritmo anterior

Importante: A seguir vamos analisar a busca binaria. As razoes sao duas:

Razao imediata: Responder a pertunta (3) do mantra para a busca sequencial

Outra razao: Praticarmos a analise de um outro algoritmo mais sofisticado.(em particular, sera um algoritmo para qual a resposta para a pergunta (3) sera nao))

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 31: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Mantra: (3) E possıvel fazer melhor?

Resposta: Sim, usando Busca Binaria

Para tal, vamos Analisar a Busca Binaria e provar que ela e melhor

Note: O Algoritmo de Busca Binaria deve

Resolver o mesmo problema de interesse (BVO)Estar corretoCustar menos que o algoritmo anterior

Importante: A seguir vamos analisar a busca binaria. As razoes sao duas:

Razao imediata: Responder a pertunta (3) do mantra para a busca sequencial

Outra razao: Praticarmos a analise de um outro algoritmo mais sofisticado.(em particular, sera um algoritmo para qual a resposta para a pergunta (3) sera nao))

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 32: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Mantra: (3) E possıvel fazer melhor?

Resposta: Sim, usando Busca Binaria

Para tal, vamos Analisar a Busca Binaria e provar que ela e melhor

Note: O Algoritmo de Busca Binaria deve

Resolver o mesmo problema de interesse (BVO)Estar corretoCustar menos que o algoritmo anterior

Importante: A seguir vamos analisar a busca binaria. As razoes sao duas:

Razao imediata: Responder a pertunta (3) do mantra para a busca sequencial

Outra razao: Praticarmos a analise de um outro algoritmo mais sofisticado.(em particular, sera um algoritmo para qual a resposta para a pergunta (3) sera nao))

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 33: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Mantra: (3) E possıvel fazer melhor?

Resposta: Sim, usando Busca Binaria

Para tal, vamos Analisar a Busca Binaria e provar que ela e melhor

Note: O Algoritmo de Busca Binaria deve

Resolver o mesmo problema de interesse (BVO)

Estar corretoCustar menos que o algoritmo anterior

Importante: A seguir vamos analisar a busca binaria. As razoes sao duas:

Razao imediata: Responder a pertunta (3) do mantra para a busca sequencial

Outra razao: Praticarmos a analise de um outro algoritmo mais sofisticado.(em particular, sera um algoritmo para qual a resposta para a pergunta (3) sera nao))

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 34: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Mantra: (3) E possıvel fazer melhor?

Resposta: Sim, usando Busca Binaria

Para tal, vamos Analisar a Busca Binaria e provar que ela e melhor

Note: O Algoritmo de Busca Binaria deve

Resolver o mesmo problema de interesse (BVO)Estar correto

Custar menos que o algoritmo anterior

Importante: A seguir vamos analisar a busca binaria. As razoes sao duas:

Razao imediata: Responder a pertunta (3) do mantra para a busca sequencial

Outra razao: Praticarmos a analise de um outro algoritmo mais sofisticado.(em particular, sera um algoritmo para qual a resposta para a pergunta (3) sera nao))

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 35: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Mantra: (3) E possıvel fazer melhor?

Resposta: Sim, usando Busca Binaria

Para tal, vamos Analisar a Busca Binaria e provar que ela e melhor

Note: O Algoritmo de Busca Binaria deve

Resolver o mesmo problema de interesse (BVO)Estar corretoCustar menos que o algoritmo anterior

Importante: A seguir vamos analisar a busca binaria. As razoes sao duas:

Razao imediata: Responder a pertunta (3) do mantra para a busca sequencial

Outra razao: Praticarmos a analise de um outro algoritmo mais sofisticado.(em particular, sera um algoritmo para qual a resposta para a pergunta (3) sera nao))

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 36: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Mantra: (3) E possıvel fazer melhor?

Resposta: Sim, usando Busca Binaria

Para tal, vamos Analisar a Busca Binaria e provar que ela e melhor

Note: O Algoritmo de Busca Binaria deve

Resolver o mesmo problema de interesse (BVO)Estar corretoCustar menos que o algoritmo anterior

Importante:

A seguir vamos analisar a busca binaria. As razoes sao duas:

Razao imediata: Responder a pertunta (3) do mantra para a busca sequencial

Outra razao: Praticarmos a analise de um outro algoritmo mais sofisticado.(em particular, sera um algoritmo para qual a resposta para a pergunta (3) sera nao))

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 37: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Mantra: (3) E possıvel fazer melhor?

Resposta: Sim, usando Busca Binaria

Para tal, vamos Analisar a Busca Binaria e provar que ela e melhor

Note: O Algoritmo de Busca Binaria deve

Resolver o mesmo problema de interesse (BVO)Estar corretoCustar menos que o algoritmo anterior

Importante: A seguir vamos analisar a busca binaria. As razoes sao duas:

Razao imediata: Responder a pertunta (3) do mantra para a busca sequencial

Outra razao: Praticarmos a analise de um outro algoritmo mais sofisticado.(em particular, sera um algoritmo para qual a resposta para a pergunta (3) sera nao))

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 38: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Mantra: (3) E possıvel fazer melhor?

Resposta: Sim, usando Busca Binaria

Para tal, vamos Analisar a Busca Binaria e provar que ela e melhor

Note: O Algoritmo de Busca Binaria deve

Resolver o mesmo problema de interesse (BVO)Estar corretoCustar menos que o algoritmo anterior

Importante: A seguir vamos analisar a busca binaria. As razoes sao duas:

Razao imediata: Responder a pertunta (3) do mantra para a busca sequencial

Outra razao: Praticarmos a analise de um outro algoritmo mais sofisticado.(em particular, sera um algoritmo para qual a resposta para a pergunta (3) sera nao))

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 39: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Mantra: (3) E possıvel fazer melhor?

Resposta: Sim, usando Busca Binaria

Para tal, vamos Analisar a Busca Binaria e provar que ela e melhor

Note: O Algoritmo de Busca Binaria deve

Resolver o mesmo problema de interesse (BVO)Estar corretoCustar menos que o algoritmo anterior

Importante: A seguir vamos analisar a busca binaria. As razoes sao duas:

Razao imediata: Responder a pertunta (3) do mantra para a busca sequencial

Outra razao: Praticarmos a analise de um outro algoritmo mais sofisticado.

(em particular, sera um algoritmo para qual a resposta para a pergunta (3) sera nao))

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 40: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Mantra: (3) E possıvel fazer melhor?

Resposta: Sim, usando Busca Binaria

Para tal, vamos Analisar a Busca Binaria e provar que ela e melhor

Note: O Algoritmo de Busca Binaria deve

Resolver o mesmo problema de interesse (BVO)Estar corretoCustar menos que o algoritmo anterior

Importante: A seguir vamos analisar a busca binaria. As razoes sao duas:

Razao imediata: Responder a pertunta (3) do mantra para a busca sequencial

Outra razao: Praticarmos a analise de um outro algoritmo mais sofisticado.(em particular, sera um algoritmo para qual a resposta para a pergunta (3) sera nao))

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 41: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Analisando o Algoritmo de Busca Binaria

Perguntas (0) e (1):

Resposta para (0): BVO

Resposta para (1): Exercıcio 3

Perguntas (2) e (3):

Gastaremos boa parte da aula com isso...

Em particular, como consequencia veremos que o custo da busca binaria emenor que o custo da busca sequencial.(Respondendo a pergunta (3) da analise da busca sequencial que ficou em aberto)

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 42: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Analisando o Algoritmo de Busca Binaria

Perguntas (0) e (1):

Resposta para (0): BVO

Resposta para (1): Exercıcio 3

Perguntas (2) e (3):

Gastaremos boa parte da aula com isso...

Em particular, como consequencia veremos que o custo da busca binaria emenor que o custo da busca sequencial.(Respondendo a pergunta (3) da analise da busca sequencial que ficou em aberto)

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 43: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Analisando o Algoritmo de Busca Binaria

Perguntas (0) e (1):

Resposta para (0): BVO

Resposta para (1): Exercıcio 3

Perguntas (2) e (3):

Gastaremos boa parte da aula com isso...

Em particular, como consequencia veremos que o custo da busca binaria emenor que o custo da busca sequencial.(Respondendo a pergunta (3) da analise da busca sequencial que ficou em aberto)

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 44: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Analisando o Algoritmo de Busca Binaria

Perguntas (0) e (1):

Resposta para (0): BVO

Resposta para (1): Exercıcio 3

Perguntas (2) e (3):

Gastaremos boa parte da aula com isso...

Em particular, como consequencia veremos que o custo da busca binaria emenor que o custo da busca sequencial.(Respondendo a pergunta (3) da analise da busca sequencial que ficou em aberto)

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 45: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Analisando o Algoritmo de Busca Binaria

Perguntas (0) e (1):

Resposta para (0): BVO

Resposta para (1): Exercıcio 3

Perguntas (2) e (3):

Gastaremos boa parte da aula com isso...

Em particular, como consequencia veremos que o custo da busca binaria emenor que o custo da busca sequencial.(Respondendo a pergunta (3) da analise da busca sequencial que ficou em aberto)

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 46: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Analisando o Algoritmo de Busca Binaria

Perguntas (0) e (1):

Resposta para (0): BVO

Resposta para (1): Exercıcio 3

Perguntas (2) e (3):

Gastaremos boa parte da aula com isso...

Em particular, como consequencia veremos que o custo da busca binaria emenor que o custo da busca sequencial.(Respondendo a pergunta (3) da analise da busca sequencial que ficou em aberto)

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 47: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Analisando o Algoritmo de Busca Binaria

Perguntas (0) e (1):

Resposta para (0): BVO

Resposta para (1): Exercıcio 3

Perguntas (2) e (3):

Gastaremos boa parte da aula com isso...

Em particular, como consequencia veremos que o custo da busca binaria emenor que o custo da busca sequencial.

(Respondendo a pergunta (3) da analise da busca sequencial que ficou em aberto)

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 48: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Analisando o Algoritmo de Busca Binaria

Perguntas (0) e (1):

Resposta para (0): BVO

Resposta para (1): Exercıcio 3

Perguntas (2) e (3):

Gastaremos boa parte da aula com isso...

Em particular, como consequencia veremos que o custo da busca binaria emenor que o custo da busca sequencial.(Respondendo a pergunta (3) da analise da busca sequencial que ficou em aberto)

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 49: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

(2) Quanto custa?

Usando o mesmo criterio de custo usado para o Algoritmo S .

bi : tempo para executar a i-esima linha de B,

Com isso a funcao de custo (de pior caso) e:

B+(n) = Max{B(x , v , a, b) : b − a + 1 = n}.

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 50: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

(2) Quanto custa?

Usando o mesmo criterio de custo usado para o Algoritmo S .

bi : tempo para executar a i-esima linha de B,

Com isso a funcao de custo (de pior caso) e:

B+(n) = Max{B(x , v , a, b) : b − a + 1 = n}.

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 51: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

(2) Quanto custa?

Usando o mesmo criterio de custo usado para o Algoritmo S .

bi : tempo para executar a i-esima linha de B,

Com isso a funcao de custo (de pior caso) e:

B+(n) = Max{B(x , v , a, b) : b − a + 1 = n}.

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 52: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

(2) Quanto custa?

Usando o mesmo criterio de custo usado para o Algoritmo S .

bi : tempo para executar a i-esima linha de B,

Com isso a funcao de custo (de pior caso) e:

B+(n) = Max{B(x , v , a, b) : b − a + 1 = n}.

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 53: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

(2) Quanto custa?

Usando o mesmo criterio de custo usado para o Algoritmo S .

bi : tempo para executar a i-esima linha de B,

Com isso a funcao de custo (de pior caso) e:

B+(n) = Max{B(x , v , a, b) : b − a + 1 = n}.

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 54: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

(2) Quanto custa? (cont.)

B+(n) =

{c ′1, se n = 0,

c ′2 + Max{B+((m + 1)− a + 1),B+(b − (m + 1) + 1)}, se n > 0,

c ′1 = b1 + b2,

c ′2 = b1 + b3 + b4,

m = ba + b

2c,

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 55: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

(2) Quanto custa? (cont.)

B+(n) =

{c ′1, se n = 0,

c ′2 + Max{B+((m + 1)− a + 1),B+(b − (m + 1) + 1)}, se n > 0,

c ′1 = b1 + b2,

c ′2 = b1 + b3 + b4,

m = ba + b

2c,

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 56: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

(2) Quanto custa? (cont.)

B+(n) =

{c ′1, se n = 0,

c ′2 + Max{B+((m + 1)− a + 1),B+(b − (m + 1) + 1)}, se n > 0,

c ′1 = b1 + b2,

c ′2 = b1 + b3 + b4,

m = ba + b

2c,

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 57: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

(2) Quanto custa? (cont.)

A equacao para B+ pode ser simplificada (Exercıcio 4) para

B+(n) =

{c ′1, sen = 0,

c ′2 + B+{b n−12c}, sen > 0,

Pelo Exercıcio 5 chegamos a:

B+(n) ≤ c ′1 + c ′2 lg n, ∀n > 0.

Antes de responder (3) para B, vamos comparar o custo de B com S(assim responderemos a pergunta (3) para o algoritmo S (busca sequencial))

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 58: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

(2) Quanto custa? (cont.)

A equacao para B+ pode ser simplificada (Exercıcio 4) para

B+(n) =

{c ′1, sen = 0,

c ′2 + B+{b n−12c}, sen > 0,

Pelo Exercıcio 5 chegamos a:

B+(n) ≤ c ′1 + c ′2 lg n, ∀n > 0.

Antes de responder (3) para B, vamos comparar o custo de B com S(assim responderemos a pergunta (3) para o algoritmo S (busca sequencial))

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 59: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

(2) Quanto custa? (cont.)

A equacao para B+ pode ser simplificada (Exercıcio 4) para

B+(n) =

{c ′1, sen = 0,

c ′2 + B+{b n−12c}, sen > 0,

Pelo Exercıcio 5 chegamos a:

B+(n) ≤ c ′1 + c ′2 lg n, ∀n > 0.

Antes de responder (3) para B, vamos comparar o custo de B com S(assim responderemos a pergunta (3) para o algoritmo S (busca sequencial))

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 60: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

(2) Quanto custa? (cont.)

A equacao para B+ pode ser simplificada (Exercıcio 4) para

B+(n) =

{c ′1, sen = 0,

c ′2 + B+{b n−12c}, sen > 0,

Pelo Exercıcio 5 chegamos a:

B+(n) ≤ c ′1 + c ′2 lg n, ∀n > 0.

Antes de responder (3) para B, vamos comparar o custo de B com S(assim responderemos a pergunta (3) para o algoritmo S (busca sequencial))

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 61: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

(2) Quanto custa? (cont.)

A equacao para B+ pode ser simplificada (Exercıcio 4) para

B+(n) =

{c ′1, sen = 0,

c ′2 + B+{b n−12c}, sen > 0,

Pelo Exercıcio 5 chegamos a:

B+(n) ≤ c ′1 + c ′2 lg n, ∀n > 0.

Antes de responder (3) para B, vamos comparar o custo de B com S(assim responderemos a pergunta (3) para o algoritmo S (busca sequencial))

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 62: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

(2) Quanto custa? (cont.)

A equacao para B+ pode ser simplificada (Exercıcio 4) para

B+(n) =

{c ′1, sen = 0,

c ′2 + B+{b n−12c}, sen > 0,

Pelo Exercıcio 5 chegamos a:

B+(n) ≤ c ′1 + c ′2 lg n, ∀n > 0.

Antes de responder (3) para B, vamos comparar o custo de B com S(assim responderemos a pergunta (3) para o algoritmo S (busca sequencial))

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 63: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Comparando Busca Sequencial e Binaria

A solucao para o BVO dada pelo Algoritmo B sera melhor que a dada pelo AlgoritmoS nas instancias (x , v , a, b) onde n = b − a + 1 se satisfizer:

B+(n) < S+(n),

ou, equivalentemente,B+(n)

S+(n)< 1. (1)

Como para todo n ≥ 2,

B+(n)

S+(n)≤

c ′2 lg n + c ′1c2n + c1

=lg n

n

(c ′2 + c ′1/ lg n

c2 + c1/n

)≤

lg n

n

(c ′2 + c ′1

c2

)= c ′3

lg n

n,

onde

c ′3 =c ′2 + c ′1

c2.

Veja que: 0 ≤ lim B+(n)S+(n)

≤ lim c ′3lg nn

= 0. Portanto:

limB+(n)

S+(n)= 0,

independentemente do valor de c ′3.

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 64: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Comparando Busca Sequencial e Binaria

A solucao para o BVO dada pelo Algoritmo B sera melhor que a dada pelo AlgoritmoS nas instancias (x , v , a, b) onde n = b − a + 1 se satisfizer:

B+(n) < S+(n),

ou, equivalentemente,B+(n)

S+(n)< 1. (1)

Como para todo n ≥ 2,

B+(n)

S+(n)≤

c ′2 lg n + c ′1c2n + c1

=lg n

n

(c ′2 + c ′1/ lg n

c2 + c1/n

)≤

lg n

n

(c ′2 + c ′1

c2

)= c ′3

lg n

n,

onde

c ′3 =c ′2 + c ′1

c2.

Veja que: 0 ≤ lim B+(n)S+(n)

≤ lim c ′3lg nn

= 0. Portanto:

limB+(n)

S+(n)= 0,

independentemente do valor de c ′3.

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 65: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Comparando Busca Sequencial e Binaria

A solucao para o BVO dada pelo Algoritmo B sera melhor que a dada pelo AlgoritmoS nas instancias (x , v , a, b) onde n = b − a + 1 se satisfizer:

B+(n) < S+(n),

ou, equivalentemente,

B+(n)

S+(n)< 1. (1)

Como para todo n ≥ 2,

B+(n)

S+(n)≤

c ′2 lg n + c ′1c2n + c1

=lg n

n

(c ′2 + c ′1/ lg n

c2 + c1/n

)≤

lg n

n

(c ′2 + c ′1

c2

)= c ′3

lg n

n,

onde

c ′3 =c ′2 + c ′1

c2.

Veja que: 0 ≤ lim B+(n)S+(n)

≤ lim c ′3lg nn

= 0. Portanto:

limB+(n)

S+(n)= 0,

independentemente do valor de c ′3.

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 66: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Comparando Busca Sequencial e Binaria

A solucao para o BVO dada pelo Algoritmo B sera melhor que a dada pelo AlgoritmoS nas instancias (x , v , a, b) onde n = b − a + 1 se satisfizer:

B+(n) < S+(n),

ou, equivalentemente,B+(n)

S+(n)< 1. (1)

Como para todo n ≥ 2,

B+(n)

S+(n)≤

c ′2 lg n + c ′1c2n + c1

=lg n

n

(c ′2 + c ′1/ lg n

c2 + c1/n

)≤

lg n

n

(c ′2 + c ′1

c2

)= c ′3

lg n

n,

onde

c ′3 =c ′2 + c ′1

c2.

Veja que: 0 ≤ lim B+(n)S+(n)

≤ lim c ′3lg nn

= 0. Portanto:

limB+(n)

S+(n)= 0,

independentemente do valor de c ′3.

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 67: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Comparando Busca Sequencial e Binaria

A solucao para o BVO dada pelo Algoritmo B sera melhor que a dada pelo AlgoritmoS nas instancias (x , v , a, b) onde n = b − a + 1 se satisfizer:

B+(n) < S+(n),

ou, equivalentemente,B+(n)

S+(n)< 1. (1)

Como para todo n ≥ 2,

B+(n)

S+(n)≤

c ′2 lg n + c ′1c2n + c1

=lg n

n

(c ′2 + c ′1/ lg n

c2 + c1/n

)≤

lg n

n

(c ′2 + c ′1

c2

)= c ′3

lg n

n,

onde

c ′3 =c ′2 + c ′1

c2.

Veja que: 0 ≤ lim B+(n)S+(n)

≤ lim c ′3lg nn

= 0. Portanto:

limB+(n)

S+(n)= 0,

independentemente do valor de c ′3.

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 68: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Comparando Busca Sequencial e Binaria

A solucao para o BVO dada pelo Algoritmo B sera melhor que a dada pelo AlgoritmoS nas instancias (x , v , a, b) onde n = b − a + 1 se satisfizer:

B+(n) < S+(n),

ou, equivalentemente,B+(n)

S+(n)< 1. (1)

Como para todo n ≥ 2,

B+(n)

S+(n)≤

c ′2 lg n + c ′1c2n + c1

=lg n

n

(c ′2 + c ′1/ lg n

c2 + c1/n

)≤

lg n

n

(c ′2 + c ′1

c2

)= c ′3

lg n

n,

onde

c ′3 =c ′2 + c ′1

c2.

Veja que: 0 ≤ lim B+(n)S+(n)

≤ lim c ′3lg nn

= 0. Portanto:

limB+(n)

S+(n)= 0,

independentemente do valor de c ′3.

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 69: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Comparando Busca Sequencial e Binaria

A solucao para o BVO dada pelo Algoritmo B sera melhor que a dada pelo AlgoritmoS nas instancias (x , v , a, b) onde n = b − a + 1 se satisfizer:

B+(n) < S+(n),

ou, equivalentemente,B+(n)

S+(n)< 1. (1)

Como para todo n ≥ 2,

B+(n)

S+(n)≤

c ′2 lg n + c ′1c2n + c1

=lg n

n

(c ′2 + c ′1/ lg n

c2 + c1/n

)

≤lg n

n

(c ′2 + c ′1

c2

)= c ′3

lg n

n,

onde

c ′3 =c ′2 + c ′1

c2.

Veja que: 0 ≤ lim B+(n)S+(n)

≤ lim c ′3lg nn

= 0. Portanto:

limB+(n)

S+(n)= 0,

independentemente do valor de c ′3.

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 70: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Comparando Busca Sequencial e Binaria

A solucao para o BVO dada pelo Algoritmo B sera melhor que a dada pelo AlgoritmoS nas instancias (x , v , a, b) onde n = b − a + 1 se satisfizer:

B+(n) < S+(n),

ou, equivalentemente,B+(n)

S+(n)< 1. (1)

Como para todo n ≥ 2,

B+(n)

S+(n)≤

c ′2 lg n + c ′1c2n + c1

=lg n

n

(c ′2 + c ′1/ lg n

c2 + c1/n

)≤

lg n

n

(c ′2 + c ′1

c2

)

= c ′3lg n

n,

onde

c ′3 =c ′2 + c ′1

c2.

Veja que: 0 ≤ lim B+(n)S+(n)

≤ lim c ′3lg nn

= 0. Portanto:

limB+(n)

S+(n)= 0,

independentemente do valor de c ′3.

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 71: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Comparando Busca Sequencial e Binaria

A solucao para o BVO dada pelo Algoritmo B sera melhor que a dada pelo AlgoritmoS nas instancias (x , v , a, b) onde n = b − a + 1 se satisfizer:

B+(n) < S+(n),

ou, equivalentemente,B+(n)

S+(n)< 1. (1)

Como para todo n ≥ 2,

B+(n)

S+(n)≤

c ′2 lg n + c ′1c2n + c1

=lg n

n

(c ′2 + c ′1/ lg n

c2 + c1/n

)≤

lg n

n

(c ′2 + c ′1

c2

)= c ′3

lg n

n,

onde

c ′3 =c ′2 + c ′1

c2.

Veja que: 0 ≤ lim B+(n)S+(n)

≤ lim c ′3lg nn

= 0. Portanto:

limB+(n)

S+(n)= 0,

independentemente do valor de c ′3.

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 72: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Comparando Busca Sequencial e Binaria

A solucao para o BVO dada pelo Algoritmo B sera melhor que a dada pelo AlgoritmoS nas instancias (x , v , a, b) onde n = b − a + 1 se satisfizer:

B+(n) < S+(n),

ou, equivalentemente,B+(n)

S+(n)< 1. (1)

Como para todo n ≥ 2,

B+(n)

S+(n)≤

c ′2 lg n + c ′1c2n + c1

=lg n

n

(c ′2 + c ′1/ lg n

c2 + c1/n

)≤

lg n

n

(c ′2 + c ′1

c2

)= c ′3

lg n

n,

onde

c ′3 =c ′2 + c ′1

c2.

Veja que: 0 ≤ lim B+(n)S+(n)

≤ lim c ′3lg nn

= 0. Portanto:

limB+(n)

S+(n)= 0,

independentemente do valor de c ′3.

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 73: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Comparando Busca Sequencial e Binaria

A solucao para o BVO dada pelo Algoritmo B sera melhor que a dada pelo AlgoritmoS nas instancias (x , v , a, b) onde n = b − a + 1 se satisfizer:

B+(n) < S+(n),

ou, equivalentemente,B+(n)

S+(n)< 1. (1)

Como para todo n ≥ 2,

B+(n)

S+(n)≤

c ′2 lg n + c ′1c2n + c1

=lg n

n

(c ′2 + c ′1/ lg n

c2 + c1/n

)≤

lg n

n

(c ′2 + c ′1

c2

)= c ′3

lg n

n,

onde

c ′3 =c ′2 + c ′1

c2.

Veja que:

0 ≤ lim B+(n)S+(n)

≤ lim c ′3lg nn

= 0. Portanto:

limB+(n)

S+(n)= 0,

independentemente do valor de c ′3.

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 74: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Comparando Busca Sequencial e Binaria

A solucao para o BVO dada pelo Algoritmo B sera melhor que a dada pelo AlgoritmoS nas instancias (x , v , a, b) onde n = b − a + 1 se satisfizer:

B+(n) < S+(n),

ou, equivalentemente,B+(n)

S+(n)< 1. (1)

Como para todo n ≥ 2,

B+(n)

S+(n)≤

c ′2 lg n + c ′1c2n + c1

=lg n

n

(c ′2 + c ′1/ lg n

c2 + c1/n

)≤

lg n

n

(c ′2 + c ′1

c2

)= c ′3

lg n

n,

onde

c ′3 =c ′2 + c ′1

c2.

Veja que: 0 ≤ lim B+(n)S+(n)

≤ lim c ′3lg nn

= 0. Portanto:

limB+(n)

S+(n)= 0,

independentemente do valor de c ′3.

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 75: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Comparando Busca Sequencial e Binaria

A solucao para o BVO dada pelo Algoritmo B sera melhor que a dada pelo AlgoritmoS nas instancias (x , v , a, b) onde n = b − a + 1 se satisfizer:

B+(n) < S+(n),

ou, equivalentemente,B+(n)

S+(n)< 1. (1)

Como para todo n ≥ 2,

B+(n)

S+(n)≤

c ′2 lg n + c ′1c2n + c1

=lg n

n

(c ′2 + c ′1/ lg n

c2 + c1/n

)≤

lg n

n

(c ′2 + c ′1

c2

)= c ′3

lg n

n,

onde

c ′3 =c ′2 + c ′1

c2.

Veja que: 0 ≤ lim B+(n)S+(n)

≤ lim c ′3lg nn

= 0. Portanto:

limB+(n)

S+(n)= 0,

independentemente do valor de c ′3.

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 76: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Comparando Busca Sequencial e Binaria

A solucao para o BVO dada pelo Algoritmo B sera melhor que a dada pelo AlgoritmoS nas instancias (x , v , a, b) onde n = b − a + 1 se satisfizer:

B+(n) < S+(n),

ou, equivalentemente,B+(n)

S+(n)< 1. (1)

Como para todo n ≥ 2,

B+(n)

S+(n)≤

c ′2 lg n + c ′1c2n + c1

=lg n

n

(c ′2 + c ′1/ lg n

c2 + c1/n

)≤

lg n

n

(c ′2 + c ′1

c2

)= c ′3

lg n

n,

onde

c ′3 =c ′2 + c ′1

c2.

Veja que: 0 ≤ lim B+(n)S+(n)

≤ lim c ′3lg nn

= 0.

Portanto:

limB+(n)

S+(n)= 0,

independentemente do valor de c ′3.

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 77: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Comparando Busca Sequencial e Binaria

A solucao para o BVO dada pelo Algoritmo B sera melhor que a dada pelo AlgoritmoS nas instancias (x , v , a, b) onde n = b − a + 1 se satisfizer:

B+(n) < S+(n),

ou, equivalentemente,B+(n)

S+(n)< 1. (1)

Como para todo n ≥ 2,

B+(n)

S+(n)≤

c ′2 lg n + c ′1c2n + c1

=lg n

n

(c ′2 + c ′1/ lg n

c2 + c1/n

)≤

lg n

n

(c ′2 + c ′1

c2

)= c ′3

lg n

n,

onde

c ′3 =c ′2 + c ′1

c2.

Veja que: 0 ≤ lim B+(n)S+(n)

≤ lim c ′3lg nn

= 0. Portanto:

limB+(n)

S+(n)= 0,

independentemente do valor de c ′3.

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 78: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Comparando Busca Sequencial e Binaria

A solucao para o BVO dada pelo Algoritmo B sera melhor que a dada pelo AlgoritmoS nas instancias (x , v , a, b) onde n = b − a + 1 se satisfizer:

B+(n) < S+(n),

ou, equivalentemente,B+(n)

S+(n)< 1. (1)

Como para todo n ≥ 2,

B+(n)

S+(n)≤

c ′2 lg n + c ′1c2n + c1

=lg n

n

(c ′2 + c ′1/ lg n

c2 + c1/n

)≤

lg n

n

(c ′2 + c ′1

c2

)= c ′3

lg n

n,

onde

c ′3 =c ′2 + c ′1

c2.

Veja que: 0 ≤ lim B+(n)S+(n)

≤ lim c ′3lg nn

= 0. Portanto:

limB+(n)

S+(n)= 0,

independentemente do valor de c ′3.

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 79: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Comparando Busca Sequencial e Binaria

A solucao para o BVO dada pelo Algoritmo B sera melhor que a dada pelo AlgoritmoS nas instancias (x , v , a, b) onde n = b − a + 1 se satisfizer:

B+(n) < S+(n),

ou, equivalentemente,B+(n)

S+(n)< 1. (1)

Como para todo n ≥ 2,

B+(n)

S+(n)≤

c ′2 lg n + c ′1c2n + c1

=lg n

n

(c ′2 + c ′1/ lg n

c2 + c1/n

)≤

lg n

n

(c ′2 + c ′1

c2

)= c ′3

lg n

n,

onde

c ′3 =c ′2 + c ′1

c2.

Veja que: 0 ≤ lim B+(n)S+(n)

≤ lim c ′3lg nn

= 0. Portanto:

limB+(n)

S+(n)= 0,

independentemente do valor de c ′3.

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 80: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Comparando Busca Sequencial e Binaria

Teorema 1

Para quaisquer valores de s1, . . . , s5, b1, . . . , b6 > 0 temos lim B+(n)S+(n)

= 0.

Corolario 2 (T.1)

Para quaisquer valores de s1, . . . , s5, b1, . . . , b6, k > 0, existe nk ∈ N, tal que

B+(n) <S+(n)

k, ∀n ≥ nk .

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 81: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Comparando Busca Sequencial e Binaria

Teorema 1

Para quaisquer valores de s1, . . . , s5, b1, . . . , b6 > 0 temos lim B+(n)S+(n)

= 0.

Corolario 2 (T.1)

Para quaisquer valores de s1, . . . , s5, b1, . . . , b6, k > 0, existe nk ∈ N, tal que

B+(n) <S+(n)

k, ∀n ≥ nk .

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 82: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Comparando Busca Sequencial e Binaria

Corolario 3 (T.1)

Independentemente dos dispositivos que executam os respectivos algoritmos, para

todo k > 0 existe nk ∈ N tal que B+(n) <S+(n)

k, ∀n ≥ nk .

Corolario 3 em outras palavras

Para todo k > 0, existe nk ∈ N tal que ∀n ≥ nk ,

existem instancias (xS , vS , b, a) e (xB , vB , b, a) do BVO tais que b − a + 1 = n ea execucao de B(xB , vB , b, a) e k vezes mais rapido que a de S(xS , vS , b, a),

quaisquer que sejam os dispositivos que os executam.

Corolario 4 (T.1)

O Algoritmo B e mais eficiente que o Algoritmo S para o BVO na analise de pior caso.

Obs: Finalmente respondemos a pergunta (3) do mantra para busca sequencial!

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 83: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Comparando Busca Sequencial e Binaria

Corolario 3 (T.1)

Independentemente dos dispositivos que executam os respectivos algoritmos, para

todo k > 0 existe nk ∈ N tal que B+(n) <S+(n)

k, ∀n ≥ nk .

Corolario 3 em outras palavras

Para todo k > 0, existe nk ∈ N tal que ∀n ≥ nk ,

existem instancias (xS , vS , b, a) e (xB , vB , b, a) do BVO tais que b − a + 1 = n ea execucao de B(xB , vB , b, a) e k vezes mais rapido que a de S(xS , vS , b, a),

quaisquer que sejam os dispositivos que os executam.

Corolario 4 (T.1)

O Algoritmo B e mais eficiente que o Algoritmo S para o BVO na analise de pior caso.

Obs: Finalmente respondemos a pergunta (3) do mantra para busca sequencial!

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 84: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Comparando Busca Sequencial e Binaria

Corolario 3 (T.1)

Independentemente dos dispositivos que executam os respectivos algoritmos, para

todo k > 0 existe nk ∈ N tal que B+(n) <S+(n)

k, ∀n ≥ nk .

Corolario 3 em outras palavras

Para todo k > 0, existe nk ∈ N tal que ∀n ≥ nk ,

existem instancias (xS , vS , b, a) e (xB , vB , b, a) do BVO tais que b − a + 1 = n ea execucao de B(xB , vB , b, a) e k vezes mais rapido que a de S(xS , vS , b, a),

quaisquer que sejam os dispositivos que os executam.

Corolario 4 (T.1)

O Algoritmo B e mais eficiente que o Algoritmo S para o BVO na analise de pior caso.

Obs: Finalmente respondemos a pergunta (3) do mantra para busca sequencial!

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 85: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Comparando Busca Sequencial e Binaria

Corolario 3 (T.1)

Independentemente dos dispositivos que executam os respectivos algoritmos, para

todo k > 0 existe nk ∈ N tal que B+(n) <S+(n)

k, ∀n ≥ nk .

Corolario 3 em outras palavras

Para todo k > 0, existe nk ∈ N tal que ∀n ≥ nk ,

existem instancias (xS , vS , b, a) e (xB , vB , b, a) do BVO tais que b − a + 1 = n ea execucao de B(xB , vB , b, a) e k vezes mais rapido que a de S(xS , vS , b, a),

quaisquer que sejam os dispositivos que os executam.

Corolario 4 (T.1)

O Algoritmo B e mais eficiente que o Algoritmo S para o BVO na analise de pior caso.

Obs: Finalmente respondemos a pergunta (3) do mantra para busca sequencial!

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 86: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Mantra: (3) E possıvel fazer melhor? (Busca Binaria)

Definicao de instancias de tamanho n

I (n) = {instancias I = (x , v , a, b) de BVO ; b − a + 1 = n}

Seja A um algoritmo determinıstico para BVO. (supostamente melhor que B)

Dado n ≥ 0 seja TA(n) a arvore binaria com raız i − a, onde i e o ındice doprimeiro elemento de v comparado com x na execucao de A algum I ∈ I (n).(dica para quem esta confuso: pense no caso particular que estamos considerando o vetor todo, ou seja

a = 0 e b = n − 1)

A raız de L(TA(n)), a subarvore esquerda de TA(n), tem j − a onde j e o ındicedo segundo elemento de v comparado com x na execucao de A caso x < v [i ].

A raız de R(TA(n)), a subarvore direita de TA(n), tem k − a onde k e o ındicedo segundo elemento de v comparado com x na execucao de A caso x ≥ v [i ].

E assim por diante . . .

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 87: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Mantra: (3) E possıvel fazer melhor? (Busca Binaria)

Definicao de instancias de tamanho n

I (n) = {instancias I = (x , v , a, b) de BVO ; b − a + 1 = n}

Seja A um algoritmo determinıstico para BVO. (supostamente melhor que B)

Dado n ≥ 0 seja TA(n) a arvore binaria com raız i − a, onde i e o ındice doprimeiro elemento de v comparado com x na execucao de A algum I ∈ I (n).

(dica para quem esta confuso: pense no caso particular que estamos considerando o vetor todo, ou seja

a = 0 e b = n − 1)

A raız de L(TA(n)), a subarvore esquerda de TA(n), tem j − a onde j e o ındicedo segundo elemento de v comparado com x na execucao de A caso x < v [i ].

A raız de R(TA(n)), a subarvore direita de TA(n), tem k − a onde k e o ındicedo segundo elemento de v comparado com x na execucao de A caso x ≥ v [i ].

E assim por diante . . .

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 88: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Mantra: (3) E possıvel fazer melhor? (Busca Binaria)

Definicao de instancias de tamanho n

I (n) = {instancias I = (x , v , a, b) de BVO ; b − a + 1 = n}

Seja A um algoritmo determinıstico para BVO. (supostamente melhor que B)

Dado n ≥ 0 seja TA(n) a arvore binaria com raız i − a, onde i e o ındice doprimeiro elemento de v comparado com x na execucao de A algum I ∈ I (n).(dica para quem esta confuso: pense no caso particular que estamos considerando o vetor todo, ou seja

a = 0 e b = n − 1)

A raız de L(TA(n)), a subarvore esquerda de TA(n), tem j − a onde j e o ındicedo segundo elemento de v comparado com x na execucao de A caso x < v [i ].

A raız de R(TA(n)), a subarvore direita de TA(n), tem k − a onde k e o ındicedo segundo elemento de v comparado com x na execucao de A caso x ≥ v [i ].

E assim por diante . . .

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 89: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Mantra: (3) E possıvel fazer melhor? (Busca Binaria)

Definicao de instancias de tamanho n

I (n) = {instancias I = (x , v , a, b) de BVO ; b − a + 1 = n}

Seja A um algoritmo determinıstico para BVO. (supostamente melhor que B)

Dado n ≥ 0 seja TA(n) a arvore binaria com raız i − a, onde i e o ındice doprimeiro elemento de v comparado com x na execucao de A algum I ∈ I (n).(dica para quem esta confuso: pense no caso particular que estamos considerando o vetor todo, ou seja

a = 0 e b = n − 1)

A raız de L(TA(n)), a subarvore esquerda de TA(n), tem j − a onde j e o ındicedo segundo elemento de v comparado com x na execucao de A caso x < v [i ].

A raız de R(TA(n)), a subarvore direita de TA(n), tem k − a onde k e o ındicedo segundo elemento de v comparado com x na execucao de A caso x ≥ v [i ].

E assim por diante . . .

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 90: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Mantra: (3) E possıvel fazer melhor? (Busca Binaria)

Definicao de instancias de tamanho n

I (n) = {instancias I = (x , v , a, b) de BVO ; b − a + 1 = n}

Seja A um algoritmo determinıstico para BVO. (supostamente melhor que B)

Dado n ≥ 0 seja TA(n) a arvore binaria com raız i − a, onde i e o ındice doprimeiro elemento de v comparado com x na execucao de A algum I ∈ I (n).(dica para quem esta confuso: pense no caso particular que estamos considerando o vetor todo, ou seja

a = 0 e b = n − 1)

A raız de L(TA(n)), a subarvore esquerda de TA(n), tem j − a onde j e o ındicedo segundo elemento de v comparado com x na execucao de A caso x < v [i ].

A raız de R(TA(n)), a subarvore direita de TA(n), tem k − a onde k e o ındicedo segundo elemento de v comparado com x na execucao de A caso x ≥ v [i ].

E assim por diante . . .

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 91: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Mantra: (3) E possıvel fazer melhor? (Busca Binaria)

Definicao de instancias de tamanho n

I (n) = {instancias I = (x , v , a, b) de BVO ; b − a + 1 = n}

Seja A um algoritmo determinıstico para BVO. (supostamente melhor que B)

Dado n ≥ 0 seja TA(n) a arvore binaria com raız i − a, onde i e o ındice doprimeiro elemento de v comparado com x na execucao de A algum I ∈ I (n).(dica para quem esta confuso: pense no caso particular que estamos considerando o vetor todo, ou seja

a = 0 e b = n − 1)

A raız de L(TA(n)), a subarvore esquerda de TA(n), tem j − a onde j e o ındicedo segundo elemento de v comparado com x na execucao de A caso x < v [i ].

A raız de R(TA(n)), a subarvore direita de TA(n), tem k − a onde k e o ındicedo segundo elemento de v comparado com x na execucao de A caso x ≥ v [i ].

E assim por diante . . .

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 92: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Mantra: (3) E possıvel fazer melhor? (Busca Binaria)

A arvore TA(n) e uma representacao de todas as sequencias de comparacoespossıveis numa execucao do algoritmo A sobre uma instancia de I (n).

Cada folha de TA(n) representa o fim da execucao de A com uma das possıveisrespostas. (note: o tamanho do ramo ate a folha e o numero de comparacoes que A fez)

A arvore TA(n) precisa ter ao menos n + 1 folhas pois o conjunto das instanciasem I (n) admite n + 1 respostas distintas.

Uma arvore binaria com n + 1 folhas tem altura pelo menos lg(n + 1) (Exerc. 6).

Portanto, existe uma instancia I = (x , v , a, b) ∈ I (n) para a qual a execucao deA(I) faz pelo menos lg(n + 1) comparacoes.

Com isso: o tempo de execucao de A(I) e de pelo menos lg(n + 1) unidades.

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 93: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Mantra: (3) E possıvel fazer melhor? (Busca Binaria)

A arvore TA(n) e uma representacao de todas as sequencias de comparacoespossıveis numa execucao do algoritmo A sobre uma instancia de I (n).

Cada folha de TA(n) representa o fim da execucao de A com uma das possıveisrespostas.

(note: o tamanho do ramo ate a folha e o numero de comparacoes que A fez)

A arvore TA(n) precisa ter ao menos n + 1 folhas pois o conjunto das instanciasem I (n) admite n + 1 respostas distintas.

Uma arvore binaria com n + 1 folhas tem altura pelo menos lg(n + 1) (Exerc. 6).

Portanto, existe uma instancia I = (x , v , a, b) ∈ I (n) para a qual a execucao deA(I) faz pelo menos lg(n + 1) comparacoes.

Com isso: o tempo de execucao de A(I) e de pelo menos lg(n + 1) unidades.

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 94: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Mantra: (3) E possıvel fazer melhor? (Busca Binaria)

A arvore TA(n) e uma representacao de todas as sequencias de comparacoespossıveis numa execucao do algoritmo A sobre uma instancia de I (n).

Cada folha de TA(n) representa o fim da execucao de A com uma das possıveisrespostas. (note: o tamanho do ramo ate a folha e o numero de comparacoes que A fez)

A arvore TA(n) precisa ter ao menos n + 1 folhas pois o conjunto das instanciasem I (n) admite n + 1 respostas distintas.

Uma arvore binaria com n + 1 folhas tem altura pelo menos lg(n + 1) (Exerc. 6).

Portanto, existe uma instancia I = (x , v , a, b) ∈ I (n) para a qual a execucao deA(I) faz pelo menos lg(n + 1) comparacoes.

Com isso: o tempo de execucao de A(I) e de pelo menos lg(n + 1) unidades.

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 95: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Mantra: (3) E possıvel fazer melhor? (Busca Binaria)

A arvore TA(n) e uma representacao de todas as sequencias de comparacoespossıveis numa execucao do algoritmo A sobre uma instancia de I (n).

Cada folha de TA(n) representa o fim da execucao de A com uma das possıveisrespostas. (note: o tamanho do ramo ate a folha e o numero de comparacoes que A fez)

A arvore TA(n) precisa ter ao menos n + 1 folhas pois o conjunto das instanciasem I (n) admite n + 1 respostas distintas.

Uma arvore binaria com n + 1 folhas tem altura pelo menos lg(n + 1) (Exerc. 6).

Portanto, existe uma instancia I = (x , v , a, b) ∈ I (n) para a qual a execucao deA(I) faz pelo menos lg(n + 1) comparacoes.

Com isso: o tempo de execucao de A(I) e de pelo menos lg(n + 1) unidades.

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 96: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Mantra: (3) E possıvel fazer melhor? (Busca Binaria)

A arvore TA(n) e uma representacao de todas as sequencias de comparacoespossıveis numa execucao do algoritmo A sobre uma instancia de I (n).

Cada folha de TA(n) representa o fim da execucao de A com uma das possıveisrespostas. (note: o tamanho do ramo ate a folha e o numero de comparacoes que A fez)

A arvore TA(n) precisa ter ao menos n + 1 folhas pois o conjunto das instanciasem I (n) admite n + 1 respostas distintas.

Uma arvore binaria com n + 1 folhas tem altura pelo menos lg(n + 1) (Exerc. 6).

Portanto, existe uma instancia I = (x , v , a, b) ∈ I (n) para a qual a execucao deA(I) faz pelo menos lg(n + 1) comparacoes.

Com isso: o tempo de execucao de A(I) e de pelo menos lg(n + 1) unidades.

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 97: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Mantra: (3) E possıvel fazer melhor? (Busca Binaria)

A arvore TA(n) e uma representacao de todas as sequencias de comparacoespossıveis numa execucao do algoritmo A sobre uma instancia de I (n).

Cada folha de TA(n) representa o fim da execucao de A com uma das possıveisrespostas. (note: o tamanho do ramo ate a folha e o numero de comparacoes que A fez)

A arvore TA(n) precisa ter ao menos n + 1 folhas pois o conjunto das instanciasem I (n) admite n + 1 respostas distintas.

Uma arvore binaria com n + 1 folhas tem altura pelo menos lg(n + 1) (Exerc. 6).

Portanto, existe uma instancia I = (x , v , a, b) ∈ I (n) para a qual a execucao deA(I) faz pelo menos lg(n + 1) comparacoes.

Com isso: o tempo de execucao de A(I) e de pelo menos lg(n + 1) unidades.

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 98: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Mantra: (3) E possıvel fazer melhor? (Busca Binaria)

A arvore TA(n) e uma representacao de todas as sequencias de comparacoespossıveis numa execucao do algoritmo A sobre uma instancia de I (n).

Cada folha de TA(n) representa o fim da execucao de A com uma das possıveisrespostas. (note: o tamanho do ramo ate a folha e o numero de comparacoes que A fez)

A arvore TA(n) precisa ter ao menos n + 1 folhas pois o conjunto das instanciasem I (n) admite n + 1 respostas distintas.

Uma arvore binaria com n + 1 folhas tem altura pelo menos lg(n + 1) (Exerc. 6).

Portanto, existe uma instancia I = (x , v , a, b) ∈ I (n) para a qual a execucao deA(I) faz pelo menos lg(n + 1) comparacoes.

Com isso: o tempo de execucao de A(I) e de pelo menos lg(n + 1) unidades.

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 99: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Mantra: (3) E possıvel fazer melhor? (Busca Binaria)

Teorema 5

Para todo algoritmo determinıstico A para o BVO existe uma instancia (x , v , a, b) doproblema tal que a execucao de A(x , v , a, b) faz pelo menos lg(b − a + 2)comparacoes de x com elementos de v .

Prova: Nao vamos fazer aqui, mas estudantes que gostam de desafios podem fazer.(dica: basta formalizar os pontos colocados nos dois slides anteriores)

Moral da historia: Nao e possıvel fazer melhor do que o Algoritmo B no mesmosentido em que o Algoritmo B e melhor que o Algoritmo S .

Mais formalmente:

Corolario 6 (T.5)

Nao existe algoritmo A para o BVO satisfazendo

limA+(n)

B+(n)= 0,

onde A+(n) = Max{TA(x , v , a, b) : b − a + 1 = n} e TA(x , v , a, b) e o tempo deexecucao de A(x , v , a, b).

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 100: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Mantra: (3) E possıvel fazer melhor? (Busca Binaria)

Teorema 5

Para todo algoritmo determinıstico A para o BVO existe uma instancia (x , v , a, b) doproblema tal que a execucao de A(x , v , a, b) faz pelo menos lg(b − a + 2)comparacoes de x com elementos de v .

Prova: Nao vamos fazer aqui, mas estudantes que gostam de desafios podem fazer.

(dica: basta formalizar os pontos colocados nos dois slides anteriores)

Moral da historia: Nao e possıvel fazer melhor do que o Algoritmo B no mesmosentido em que o Algoritmo B e melhor que o Algoritmo S .

Mais formalmente:

Corolario 6 (T.5)

Nao existe algoritmo A para o BVO satisfazendo

limA+(n)

B+(n)= 0,

onde A+(n) = Max{TA(x , v , a, b) : b − a + 1 = n} e TA(x , v , a, b) e o tempo deexecucao de A(x , v , a, b).

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 101: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Mantra: (3) E possıvel fazer melhor? (Busca Binaria)

Teorema 5

Para todo algoritmo determinıstico A para o BVO existe uma instancia (x , v , a, b) doproblema tal que a execucao de A(x , v , a, b) faz pelo menos lg(b − a + 2)comparacoes de x com elementos de v .

Prova: Nao vamos fazer aqui, mas estudantes que gostam de desafios podem fazer.(dica: basta formalizar os pontos colocados nos dois slides anteriores)

Moral da historia: Nao e possıvel fazer melhor do que o Algoritmo B no mesmosentido em que o Algoritmo B e melhor que o Algoritmo S .

Mais formalmente:

Corolario 6 (T.5)

Nao existe algoritmo A para o BVO satisfazendo

limA+(n)

B+(n)= 0,

onde A+(n) = Max{TA(x , v , a, b) : b − a + 1 = n} e TA(x , v , a, b) e o tempo deexecucao de A(x , v , a, b).

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 102: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Mantra: (3) E possıvel fazer melhor? (Busca Binaria)

Teorema 5

Para todo algoritmo determinıstico A para o BVO existe uma instancia (x , v , a, b) doproblema tal que a execucao de A(x , v , a, b) faz pelo menos lg(b − a + 2)comparacoes de x com elementos de v .

Prova: Nao vamos fazer aqui, mas estudantes que gostam de desafios podem fazer.(dica: basta formalizar os pontos colocados nos dois slides anteriores)

Moral da historia: Nao e possıvel fazer melhor do que o Algoritmo B no mesmosentido em que o Algoritmo B e melhor que o Algoritmo S .

Mais formalmente:

Corolario 6 (T.5)

Nao existe algoritmo A para o BVO satisfazendo

limA+(n)

B+(n)= 0,

onde A+(n) = Max{TA(x , v , a, b) : b − a + 1 = n} e TA(x , v , a, b) e o tempo deexecucao de A(x , v , a, b).

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 103: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Mantra: (3) E possıvel fazer melhor? (Busca Binaria)

Teorema 5

Para todo algoritmo determinıstico A para o BVO existe uma instancia (x , v , a, b) doproblema tal que a execucao de A(x , v , a, b) faz pelo menos lg(b − a + 2)comparacoes de x com elementos de v .

Prova: Nao vamos fazer aqui, mas estudantes que gostam de desafios podem fazer.(dica: basta formalizar os pontos colocados nos dois slides anteriores)

Moral da historia: Nao e possıvel fazer melhor do que o Algoritmo B no mesmosentido em que o Algoritmo B e melhor que o Algoritmo S .

Mais formalmente:

Corolario 6 (T.5)

Nao existe algoritmo A para o BVO satisfazendo

limA+(n)

B+(n)= 0,

onde A+(n) = Max{TA(x , v , a, b) : b − a + 1 = n} e TA(x , v , a, b) e o tempo deexecucao de A(x , v , a, b).

Prof. Murilo V. G. da Silva Analise de Algoritmos

Page 104: Análise de Algoritmos Aula 02 - UFPRAn alise de Algoritmos Aula 02 Prof. Murilo V. G. da Silva DINF/UFPR (material da disciplina: Andr e Guedes, Renato Carmo, Murilo da Silva) Analisando

Mantra: (3) E possıvel fazer melhor? (Busca Binaria)

Teorema 5

Para todo algoritmo determinıstico A para o BVO existe uma instancia (x , v , a, b) doproblema tal que a execucao de A(x , v , a, b) faz pelo menos lg(b − a + 2)comparacoes de x com elementos de v .

Prova: Nao vamos fazer aqui, mas estudantes que gostam de desafios podem fazer.(dica: basta formalizar os pontos colocados nos dois slides anteriores)

Moral da historia: Nao e possıvel fazer melhor do que o Algoritmo B no mesmosentido em que o Algoritmo B e melhor que o Algoritmo S .

Mais formalmente:

Corolario 6 (T.5)

Nao existe algoritmo A para o BVO satisfazendo

limA+(n)

B+(n)= 0,

onde A+(n) = Max{TA(x , v , a, b) : b − a + 1 = n} e TA(x , v , a, b) e o tempo deexecucao de A(x , v , a, b).

Prof. Murilo V. G. da Silva Analise de Algoritmos