mc-202 — unidade 11 Árvores de afunilamentolehilton/mc202ef/unidade11.pdf · mc-202 — unidade...

97
MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp Segundo Semestre de 2016 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Upload: others

Post on 01-Oct-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

MC-202 — Unidade 11Árvores de Afunilamento

Lehilton Pedrosa

Instituto de Computação – Unicamp

Segundo Semestre de 2016

. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .

Page 2: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Roteiro

1 Introdução

2 Localidade e Referência

3 Árvore de Afunilamento

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 2 / 17

Page 3: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Introdução

Carlos : 3234 2322Leo : 92923 2932José : 92832 3936Ana : 99129 4323Maria : 9992 3432Daniel : 99381 3824Bia : 3323 3432

No nosso aparelho celular, temos diversos contatos.

Pergunta: Que estrutura é a mais adequada para guardar os dados?Resposta: Uma árvore balanceada?

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 3 / 17

Page 4: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Introdução

Carlos : 3234 2322Leo : 92923 2932José : 92832 3936Ana : 99129 4323Maria : 9992 3432Daniel : 99381 3824Bia : 3323 3432

No nosso aparelho celular, temos diversos contatos.

Pergunta: Que estrutura é a mais adequada para guardar os dados?Resposta: Uma árvore balanceada?

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 3 / 17

Page 5: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Introdução

Carlos : 3234 2322Leo : 92923 2932José : 92832 3936Ana : 99129 4323Maria : 9992 3432Daniel : 99381 3824Bia : 3323 3432

No nosso aparelho celular, temos diversos contatos.

Pergunta: Que estrutura é a mais adequada para guardar os dados?

Resposta: Uma árvore balanceada?

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 3 / 17

Page 6: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Introdução

Ana

Bia Daniel

Carlos

José

Maria

Leo

No nosso aparelho celular, temos diversos contatos.

Pergunta: Que estrutura é a mais adequada para guardar os dados?Resposta: Uma árvore

balanceada?

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 3 / 17

Page 7: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Introdução

Ana

Bia Daniel

Carlos

José

Maria

Leo

0

-1

-1

-1

+1

00

No nosso aparelho celular, temos diversos contatos.

Pergunta: Que estrutura é a mais adequada para guardar os dados?Resposta: Uma árvore balanceada

?

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 3 / 17

Page 8: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Introdução

Ana

Bia Daniel

Carlos

José

Maria

Leo

0

-1

-1

-1

+1

00

No nosso aparelho celular, temos diversos contatos.

Pergunta: Que estrutura é a mais adequada para guardar os dados?Resposta: Uma árvore balanceada?

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 3 / 17

Page 9: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Verificando nossa escolha

Ana

Bia Daniel

Carlos

José

Maria

Leo

Contando acessos

Chamamos Maria, Daniel, Ana, Ana, Ana, Ana, Ana e Ana

Diagnóstico: Acessamos um certo elemento várias vezes!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 4 / 17

Page 10: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Verificando nossa escolha

Ana

Bia Daniel

Carlos

José

Maria

Leo

0Acessos:

Contando acessos

Chamamos Maria, Daniel, Ana, Ana, Ana, Ana, Ana e Ana

Diagnóstico: Acessamos um certo elemento várias vezes!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 4 / 17

Page 11: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Verificando nossa escolha

Ana

Bia Daniel

Carlos

José

Maria

Leo

0Acessos:

Contando acessosChamamos Maria

, Daniel, Ana, Ana, Ana, Ana, Ana e Ana

Diagnóstico: Acessamos um certo elemento várias vezes!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 4 / 17

Page 12: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Verificando nossa escolha

Ana

Bia Daniel

Carlos

José

Maria

Leo

1Acessos:

Contando acessosChamamos Maria

, Daniel, Ana, Ana, Ana, Ana, Ana e Ana

Diagnóstico: Acessamos um certo elemento várias vezes!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 4 / 17

Page 13: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Verificando nossa escolha

Ana

Bia Daniel

Carlos

José

Maria

Leo

2Acessos:

Contando acessosChamamos Maria

, Daniel, Ana, Ana, Ana, Ana, Ana e Ana

Diagnóstico: Acessamos um certo elemento várias vezes!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 4 / 17

Page 14: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Verificando nossa escolha

Ana

Bia Daniel

Carlos

José

Maria

Leo

2Acessos:

Contando acessosChamamos Maria

, Daniel, Ana, Ana, Ana, Ana, Ana e Ana

Diagnóstico: Acessamos um certo elemento várias vezes!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 4 / 17

Page 15: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Verificando nossa escolha

Ana

Bia Daniel

Carlos

José

Maria

Leo

3Acessos:

Contando acessosChamamos Maria, Daniel

, Ana, Ana, Ana, Ana, Ana e Ana

Diagnóstico: Acessamos um certo elemento várias vezes!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 4 / 17

Page 16: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Verificando nossa escolha

Ana

Bia Daniel

Carlos

José

Maria

Leo

4Acessos:

Contando acessosChamamos Maria, Daniel

, Ana, Ana, Ana, Ana, Ana e Ana

Diagnóstico: Acessamos um certo elemento várias vezes!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 4 / 17

Page 17: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Verificando nossa escolha

Ana

Bia Daniel

Carlos

José

Maria

Leo

5Acessos:

Contando acessosChamamos Maria, Daniel

, Ana, Ana, Ana, Ana, Ana e Ana

Diagnóstico: Acessamos um certo elemento várias vezes!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 4 / 17

Page 18: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Verificando nossa escolha

Ana

Bia Daniel

Carlos

José

Maria

Leo

5Acessos:

Contando acessosChamamos Maria, Daniel

, Ana, Ana, Ana, Ana, Ana e Ana

Diagnóstico: Acessamos um certo elemento várias vezes!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 4 / 17

Page 19: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Verificando nossa escolha

Ana

Bia Daniel

Carlos

José

Maria

Leo

6Acessos:

Contando acessosChamamos Maria, Daniel, Ana

, Ana, Ana, Ana, Ana e Ana

Diagnóstico: Acessamos um certo elemento várias vezes!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 4 / 17

Page 20: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Verificando nossa escolha

Ana

Bia Daniel

Carlos

José

Maria

Leo

7Acessos:

Contando acessosChamamos Maria, Daniel, Ana

, Ana, Ana, Ana, Ana e Ana

Diagnóstico: Acessamos um certo elemento várias vezes!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 4 / 17

Page 21: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Verificando nossa escolha

Ana

Bia Daniel

Carlos

José

Maria

Leo

8Acessos:

Contando acessosChamamos Maria, Daniel, Ana

, Ana, Ana, Ana, Ana e Ana

Diagnóstico: Acessamos um certo elemento várias vezes!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 4 / 17

Page 22: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Verificando nossa escolha

Ana

Bia Daniel

Carlos

José

Maria

Leo

9Acessos:

Contando acessosChamamos Maria, Daniel, Ana

, Ana, Ana, Ana, Ana e Ana

Diagnóstico: Acessamos um certo elemento várias vezes!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 4 / 17

Page 23: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Verificando nossa escolha

Ana

Bia Daniel

Carlos

José

Maria

Leo

9Acessos:

Contando acessosChamamos Maria, Daniel, Ana

, Ana, Ana, Ana, Ana e Ana

Diagnóstico: Acessamos um certo elemento várias vezes!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 4 / 17

Page 24: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Verificando nossa escolha

Ana

Bia Daniel

Carlos

José

Maria

Leo

10Acessos:

Contando acessosChamamos Maria, Daniel, Ana, Ana

, Ana, Ana, Ana e Ana

Diagnóstico: Acessamos um certo elemento várias vezes!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 4 / 17

Page 25: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Verificando nossa escolha

Ana

Bia Daniel

Carlos

José

Maria

Leo

11Acessos:

Contando acessosChamamos Maria, Daniel, Ana, Ana

, Ana, Ana, Ana e Ana

Diagnóstico: Acessamos um certo elemento várias vezes!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 4 / 17

Page 26: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Verificando nossa escolha

Ana

Bia Daniel

Carlos

José

Maria

Leo

12Acessos:

Contando acessosChamamos Maria, Daniel, Ana, Ana

, Ana, Ana, Ana e Ana

Diagnóstico: Acessamos um certo elemento várias vezes!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 4 / 17

Page 27: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Verificando nossa escolha

Ana

Bia Daniel

Carlos

José

Maria

Leo

13Acessos:

Contando acessosChamamos Maria, Daniel, Ana, Ana

, Ana, Ana, Ana e Ana

Diagnóstico: Acessamos um certo elemento várias vezes!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 4 / 17

Page 28: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Verificando nossa escolha

Ana

Bia Daniel

Carlos

José

Maria

Leo

13Acessos:

Contando acessosChamamos Maria, Daniel, Ana, Ana

, Ana, Ana, Ana e Ana

Diagnóstico: Acessamos um certo elemento várias vezes!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 4 / 17

Page 29: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Verificando nossa escolha

Ana

Bia Daniel

Carlos

José

Maria

Leo

17Acessos:

Contando acessosChamamos Maria, Daniel, Ana, Ana, Ana

, Ana, Ana e Ana

Diagnóstico: Acessamos um certo elemento várias vezes!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 4 / 17

Page 30: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Verificando nossa escolha

Ana

Bia Daniel

Carlos

José

Maria

Leo

21Acessos:

Contando acessosChamamos Maria, Daniel, Ana, Ana, Ana, Ana

, Ana e Ana

Diagnóstico: Acessamos um certo elemento várias vezes!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 4 / 17

Page 31: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Verificando nossa escolha

Ana

Bia Daniel

Carlos

José

Maria

Leo

25Acessos:

Contando acessosChamamos Maria, Daniel, Ana, Ana, Ana, Ana, Ana

e Ana

Diagnóstico: Acessamos um certo elemento várias vezes!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 4 / 17

Page 32: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Verificando nossa escolha

Ana

Bia Daniel

Carlos

José

Maria

Leo

33Acessos:

Contando acessosChamamos Maria, Daniel, Ana, Ana, Ana, Ana, Ana e Ana

Diagnóstico: Acessamos um certo elemento várias vezes!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 4 / 17

Page 33: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Verificando nossa escolha

Ana

Bia Daniel

Carlos

José

Maria

Leo

33Acessos:

Contando acessosChamamos Maria, Daniel, Ana, Ana, Ana, Ana, Ana e Ana

Diagnóstico:

Acessamos um certo elemento várias vezes!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 4 / 17

Page 34: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Verificando nossa escolha

Ana

Bia Daniel

Carlos

José

Maria

Leo

33Acessos:

Contando acessosChamamos Maria, Daniel, Ana, Ana, Ana, Ana, Ana e Ana

Diagnóstico: Acessamos um certo elemento várias vezes!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 4 / 17

Page 35: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Modificando a árvore

Ana

Bia Daniel

Carlos

José

Maria

Leo

Vamos modificar a árvore:

trazemos o elemento mais recente para cima!

Pergunta: A árvore é balanceada? Não!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 5 / 17

Page 36: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Modificando a árvore

Ana

Bia Daniel

Carlos

José

Maria

Leo

Vamos modificar a árvore: trazemos o elemento mais recente para cima!

Pergunta: A árvore é balanceada? Não!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 5 / 17

Page 37: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Modificando a árvore

Ana

Bia Daniel

Carlos

José

Maria

Leo

Vamos modificar a árvore: trazemos o elemento mais recente para cima!

Pergunta: A árvore é balanceada? Não!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 5 / 17

Page 38: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Modificando a árvore

Ana

Bia Daniel

Carlos

José

Maria

Leo

Vamos modificar a árvore: trazemos o elemento mais recente para cima!

Pergunta: A árvore é balanceada?

Não!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 5 / 17

Page 39: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Modificando a árvore

Ana

Bia Daniel

Carlos

José

Maria

Leo

+3

0

0

0

+1

00

Vamos modificar a árvore: trazemos o elemento mais recente para cima!

Pergunta: A árvore é balanceada? Não!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 5 / 17

Page 40: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Contando de novo

Ana

Bia Daniel

Carlos

José

Maria

Leo

0Acessos:

Contando acessosChamamos

Maria, Daniel, Ana, Ana, Ana, Ana, Ana, Ana, Maria, Maria,Maria, Maria, Maria...

Diagnóstico: Acessamos os mais recentes várias vezes!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 6 / 17

Page 41: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Contando de novo

Ana

Bia Daniel

Carlos

José

Maria

Leo

3Acessos:

Contando acessosChamamos Maria

, Daniel, Ana, Ana, Ana, Ana, Ana, Ana, Maria, Maria,Maria, Maria, Maria...

Diagnóstico: Acessamos os mais recentes várias vezes!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 6 / 17

Page 42: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Contando de novo

Ana

Bia Daniel

Carlos

José

Maria

Leo

7Acessos:

Contando acessosChamamos Maria, Daniel

, Ana, Ana, Ana, Ana, Ana, Ana, Maria, Maria,Maria, Maria, Maria...

Diagnóstico: Acessamos os mais recentes várias vezes!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 6 / 17

Page 43: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Contando de novo

Ana

Bia Daniel

Carlos

José

Maria

Leo

7Acessos:

Contando acessosChamamos Maria, Daniel

, Ana, Ana, Ana, Ana, Ana, Ana, Maria, Maria,Maria, Maria, Maria...

Diagnóstico: Acessamos os mais recentes várias vezes!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 6 / 17

Page 44: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Contando de novo

Ana

Bia Daniel

Carlos

José

Maria

Leo

8Acessos:

Contando acessosChamamos Maria, Daniel, Ana

, Ana, Ana, Ana, Ana, Ana, Maria, Maria,Maria, Maria, Maria...

Diagnóstico: Acessamos os mais recentes várias vezes!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 6 / 17

Page 45: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Contando de novo

Ana

Bia Daniel

Carlos

José

Maria

Leo

9Acessos:

Contando acessosChamamos Maria, Daniel, Ana, Ana

, Ana, Ana, Ana, Ana, Maria, Maria,Maria, Maria, Maria...

Diagnóstico: Acessamos os mais recentes várias vezes!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 6 / 17

Page 46: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Contando de novo

Ana

Bia Daniel

Carlos

José

Maria

Leo

10Acessos:

Contando acessosChamamos Maria, Daniel, Ana, Ana, Ana

, Ana, Ana, Ana, Maria, Maria,Maria, Maria, Maria...

Diagnóstico: Acessamos os mais recentes várias vezes!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 6 / 17

Page 47: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Contando de novo

Ana

Bia Daniel

Carlos

José

Maria

Leo

11Acessos:

Contando acessosChamamos Maria, Daniel, Ana, Ana, Ana, Ana

, Ana, Ana, Maria, Maria,Maria, Maria, Maria...

Diagnóstico: Acessamos os mais recentes várias vezes!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 6 / 17

Page 48: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Contando de novo

Ana

Bia Daniel

Carlos

José

Maria

Leo

12Acessos:

Contando acessosChamamos Maria, Daniel, Ana, Ana, Ana, Ana, Ana

, Ana, Maria, Maria,Maria, Maria, Maria...

Diagnóstico: Acessamos os mais recentes várias vezes!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 6 / 17

Page 49: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Contando de novo

Ana

Bia Daniel

Carlos

José

Maria

Leo

13Acessos:

Contando acessosChamamos Maria, Daniel, Ana, Ana, Ana, Ana, Ana, Ana

, Maria, Maria,Maria, Maria, Maria...

Diagnóstico: Acessamos os mais recentes várias vezes!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 6 / 17

Page 50: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Contando de novo

Ana

Bia Daniel

Carlos

José

Maria

Leo

13Acessos:

Contando acessosChamamos Maria, Daniel, Ana, Ana, Ana, Ana, Ana, Ana

, Maria, Maria,Maria, Maria, Maria...

Diagnóstico: Acessamos os mais recentes várias vezes!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 6 / 17

Page 51: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Contando de novo

Ana

Bia Daniel

Carlos

José

Maria

Leo

14Acessos:

Contando acessosChamamos Maria, Daniel, Ana, Ana, Ana, Ana, Ana, Ana, Maria

, Maria,Maria, Maria, Maria...

Diagnóstico: Acessamos os mais recentes várias vezes!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 6 / 17

Page 52: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Contando de novo

Ana

Bia Daniel

Carlos

José

Maria

Leo

15Acessos:

Contando acessosChamamos Maria, Daniel, Ana, Ana, Ana, Ana, Ana, Ana, Maria

, Maria,Maria, Maria, Maria...

Diagnóstico: Acessamos os mais recentes várias vezes!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 6 / 17

Page 53: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Contando de novo

Ana

Bia Daniel

Carlos

José

Maria

Leo

15Acessos:

Contando acessosChamamos Maria, Daniel, Ana, Ana, Ana, Ana, Ana, Ana, Maria

, Maria,Maria, Maria, Maria...

Diagnóstico: Acessamos os mais recentes várias vezes!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 6 / 17

Page 54: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Contando de novo

Ana

Bia Daniel

Carlos

José

Maria

Leo

15Acessos:

Contando acessosChamamos Maria, Daniel, Ana, Ana, Ana, Ana, Ana, Ana, Maria

, Maria,Maria, Maria, Maria...

Diagnóstico: Acessamos os mais recentes várias vezes!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 6 / 17

Page 55: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Contando de novo

Ana

Bia Daniel

Carlos

José

Maria

Leo

18Acessos:

Contando acessosChamamos Maria, Daniel, Ana, Ana, Ana, Ana, Ana, Ana, Maria, Maria

,Maria, Maria, Maria...

Diagnóstico: Acessamos os mais recentes várias vezes!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 6 / 17

Page 56: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Contando de novo

Ana

Bia Daniel

Carlos

José

Maria

Leo

21Acessos:

Contando acessosChamamos Maria, Daniel, Ana, Ana, Ana, Ana, Ana, Ana, Maria, Maria,Maria

, Maria, Maria...

Diagnóstico: Acessamos os mais recentes várias vezes!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 6 / 17

Page 57: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Contando de novo

Ana

Bia Daniel

Carlos

José

Maria

Leo

24Acessos:

Contando acessosChamamos Maria, Daniel, Ana, Ana, Ana, Ana, Ana, Ana, Maria, Maria,Maria, Maria

, Maria...

Diagnóstico: Acessamos os mais recentes várias vezes!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 6 / 17

Page 58: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Contando de novo

Ana

Bia Daniel

Carlos

José

Maria

Leo

27Acessos:

Contando acessosChamamos Maria, Daniel, Ana, Ana, Ana, Ana, Ana, Ana, Maria, Maria,Maria, Maria, Maria...

Diagnóstico: Acessamos os mais recentes várias vezes!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 6 / 17

Page 59: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Contando de novo

Ana

Bia Daniel

Carlos

José

Maria

Leo

30Acessos:

Contando acessosChamamos Maria, Daniel, Ana, Ana, Ana, Ana, Ana, Ana, Maria, Maria,Maria, Maria, Maria...

Diagnóstico: Acessamos os mais recentes várias vezes!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 6 / 17

Page 60: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Contando de novo

Ana

Bia Daniel

Carlos

José

Maria

Leo

9999Acessos:

Contando acessosChamamos Maria, Daniel, Ana, Ana, Ana, Ana, Ana, Ana, Maria, Maria,Maria, Maria, Maria...

Diagnóstico: Acessamos os mais recentes várias vezes!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 6 / 17

Page 61: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Contando de novo

Ana

Bia Daniel

Carlos

José

Maria

Leo

9999Acessos:

Contando acessosChamamos Maria, Daniel, Ana, Ana, Ana, Ana, Ana, Ana, Maria, Maria,Maria, Maria, Maria...

Diagnóstico:

Acessamos os mais recentes várias vezes!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 6 / 17

Page 62: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Contando de novo

Ana

Bia Daniel

Carlos

José

Maria

Leo

9999Acessos:

Contando acessosChamamos Maria, Daniel, Ana, Ana, Ana, Ana, Ana, Ana, Maria, Maria,Maria, Maria, Maria...

Diagnóstico: Acessamos os mais recentes várias vezes!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 6 / 17

Page 63: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Localidade de Referência

Princípio da localidadeÉ o princípio que um mesmo elemento que um certo elemento é acessadomuitas vezes por um curto período de tempo. Acontece de várias maneiras:

temporal: um elemento acessado recentemente tende a ser acessadonovamente em breveespacial: se um dado foi acessado em certa parte da memória, locaispróximos tendem a ser acessados em breve

Exemplosconjuntos dinâmicoscódigo de um programadados de um registro

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 7 / 17

Page 64: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Localidade de Referência

Princípio da localidadeÉ o princípio que um mesmo elemento que um certo elemento é acessadomuitas vezes por um curto período de tempo. Acontece de várias maneiras:

temporal: um elemento acessado recentemente tende a ser acessadonovamente em breveespacial: se um dado foi acessado em certa parte da memória, locaispróximos tendem a ser acessados em breve

Exemplosconjuntos dinâmicoscódigo de um programadados de um registro

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 7 / 17

Page 65: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Localidade de Referência

Princípio da localidadeÉ o princípio que um mesmo elemento que um certo elemento é acessadomuitas vezes por um curto período de tempo. Acontece de várias maneiras:

temporal: um elemento acessado recentemente tende a ser acessadonovamente em breveespacial: se um dado foi acessado em certa parte da memória, locaispróximos tendem a ser acessados em breve

Exemplosconjuntos dinâmicoscódigo de um programadados de um registro

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 7 / 17

Page 66: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Árvore de Afunilamento (Splay Tree)

Splay Treeintroduzida por Daniel Dominic Sleator and Robert Endre Tarjan(1985)tenta fazer com que elementos mais recentementes acessados estejamperto da raiz

DefiniçãoUm Splay Tree é alguma árvore de busca cuja implementação usa aoperação de afunilamento.

CaracterísticaPior caso de uma busca: O(n)Pior caso de k operações consecutivas: O(k log(n))

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 8 / 17

Page 67: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Árvore de Afunilamento (Splay Tree)

Splay Treeintroduzida por Daniel Dominic Sleator and Robert Endre Tarjan(1985)tenta fazer com que elementos mais recentementes acessados estejamperto da raiz

DefiniçãoUm Splay Tree é alguma árvore de busca cuja implementação usa aoperação de afunilamento.

CaracterísticaPior caso de uma busca: O(n)Pior caso de k operações consecutivas: O(k log(n))

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 8 / 17

Page 68: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Árvore de Afunilamento (Splay Tree)

Splay Treeintroduzida por Daniel Dominic Sleator and Robert Endre Tarjan(1985)tenta fazer com que elementos mais recentementes acessados estejamperto da raiz

DefiniçãoUm Splay Tree é alguma árvore de busca cuja implementação usa aoperação de afunilamento.

CaracterísticaPior caso de uma busca: O(n)Pior caso de k operações consecutivas: O(k log(n))

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 8 / 17

Page 69: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Principal operação: afunilar

AfunilarAfunilar um nó é um operação que transforma um né em raiz.

8

3 13

1 7 10

4

Exemplo: Afunilar o 4.

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 9 / 17

Page 70: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Principal operação: afunilar

AfunilarAfunilar um nó é um operação que transforma um né em raiz.

8

3 13

1 7 10

4

Exemplo: Afunilar o 4.

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 9 / 17

Page 71: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Principal operação: afunilar

AfunilarAfunilar um nó é um operação que transforma um né em raiz.

8

3 13

1 7 10

4

Exemplo: Afunilar o 4.

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 9 / 17

Page 72: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Principal operação: afunilar

AfunilarAfunilar um nó é um operação que transforma um né em raiz.

8

3 13

1

7

104

Exemplo: Afunilar o 4.

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 9 / 17

Page 73: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Principal operação: afunilar

AfunilarAfunilar um nó é um operação que transforma um né em raiz.

8

3

13

1

7 10

4

Exemplo: Afunilar o 4.

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 9 / 17

Page 74: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Principal operação: afunilar

AfunilarAfunilar um nó é um operação que transforma um né em raiz.

83

131 7

10

4

Exemplo: Afunilar o 4.

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 9 / 17

Page 75: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Ideia

Afunilar nó xFazemos rotações dependendo do caso:

1 x é raiz2 Caso zig: pai de x é raiz3 Caso zig-zig: pai e avô alinhados4 Caso zig-zag: pai e avô não alinhados

Algoritmo: Enquanto x não for raiz, escolhe rotação adequada.

Observação: Nossa implementação usará nós com ponteiro para o nó pai!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 10 / 17

Page 76: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Ideia

Afunilar nó xFazemos rotações dependendo do caso:

1 x é raiz2 Caso zig: pai de x é raiz3 Caso zig-zig: pai e avô alinhados4 Caso zig-zag: pai e avô não alinhados

Algoritmo: Enquanto x não for raiz, escolhe rotação adequada.

Observação: Nossa implementação usará nós com ponteiro para o nó pai!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 10 / 17

Page 77: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Ideia

Afunilar nó xFazemos rotações dependendo do caso:

1 x é raiz2 Caso zig: pai de x é raiz3 Caso zig-zig: pai e avô alinhados4 Caso zig-zag: pai e avô não alinhados

Algoritmo: Enquanto x não for raiz, escolhe rotação adequada.

Observação: Nossa implementação usará nós com ponteiro para o nó pai!

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 10 / 17

Page 78: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Caso 2: zig (pai de x é raiz)

x

A

α βαγ

raiz

Procedimento

Rotaciona na direção da raiz.

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 11 / 17

Page 79: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Caso 2: zig (pai de x é raiz)

x

A

α βαγ

raiz

x

β

α

γ

raiz

rotacionar

ProcedimentoRotaciona na direção da raiz.

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 11 / 17

Page 80: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Caso 3: zig-zig (pai de x na mesma direção do avô)

x

B

βα

γ

A

δ

Procedimento

Rotaciona avô e depois pais na mesma direção.

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 12 / 17

Page 81: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Caso 3: zig-zig (pai de x na mesma direção do avô)

x

B

βα

γ

Rotacionar2 nós de uma só vez!

A

δ

x

B

β

α

γ

A

δ

ProcedimentoRotaciona avô e depois pais na mesma direção.

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 12 / 17

Page 82: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Caso 4: zig-zag (pai de x na mesma oposta à do avô)

x

B

β

α

γ

A

δ

Procedimento

Rotaciona pai na direção do pai e depois avô na direção oposta.

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 13 / 17

Page 83: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Caso 4: zig-zag (pai de x na mesma oposta à do avô)

x

B

β

α

γ

rotacionar

A

δ

x

B

βα γ

A

δ

ProcedimentoRotaciona pai na direção do pai e depois avô na direção oposta.

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 13 / 17

Page 84: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Implementação em CAfunilarvoid afunilar(NoArv **r, NoArv *x) {

// enquanto não chega na raizwhile( *r != x ) {

// caso zigif (x->pai == *r) {

...}

else {NoArv *pai = x->pai, *avo = pai->pai;// caso zig-zigif ((x==pai->esq && pai==avo->esq) ||

(x==pai->dir && pai==avo->dir) ) {...

// caso zig-zag} else {

...}

}}

}

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 14 / 17

Page 85: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Implementação em CAfunilarvoid afunilar(NoArv **r, NoArv *x) {

// enquanto não chega na raizwhile( *r != x ) {

// caso zigif (x->pai == *r) {

...} else {

NoArv *pai = x->pai, *avo = pai->pai;

// caso zig-zigif ((x==pai->esq && pai==avo->esq) ||

(x==pai->dir && pai==avo->dir) ) {...

// caso zig-zag} else {

...}

}}

}

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 14 / 17

Page 86: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Implementação em CAfunilarvoid afunilar(NoArv **r, NoArv *x) {

// enquanto não chega na raizwhile( *r != x ) {

// caso zigif (x->pai == *r) {

...} else {

NoArv *pai = x->pai, *avo = pai->pai;// caso zig-zigif ((x==pai->esq && pai==avo->esq) ||

(x==pai->dir && pai==avo->dir) ) {...

// caso zig-zag} else {

...}

}}

}

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 14 / 17

Page 87: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Implementação em CAfunilarvoid afunilar(NoArv **r, NoArv *x) {

// enquanto não chega na raizwhile( *r != x ) {

// caso zigif (x->pai == *r) {

...} else {

NoArv *pai = x->pai, *avo = pai->pai;// caso zig-zigif ((x==pai->esq && pai==avo->esq) ||

(x==pai->dir && pai==avo->dir) ) {...

// caso zig-zag} else {

...}

}}

}

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 14 / 17

Page 88: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Operações de Conjunto

Operações básicasBuscar:

1 Inserir em árvore de busca2 Se encontrou, afunilar elemento acessado

Inserir:1 Inserir em árvore de busca2 Afunilar elemento inserido

Remover:1 Buscar elemento e guardar o pai se houver2 Remover elemento3 Se houver pai, afunilar o pai

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 15 / 17

Page 89: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Operações de Conjunto

Operações básicasBuscar:

1 Inserir em árvore de busca2 Se encontrou, afunilar elemento acessado

Inserir:1 Inserir em árvore de busca2 Afunilar elemento inserido

Remover:1 Buscar elemento e guardar o pai se houver2 Remover elemento3 Se houver pai, afunilar o pai

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 15 / 17

Page 90: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Operações de Conjunto

Operações básicasBuscar:

1 Inserir em árvore de busca2 Se encontrou, afunilar elemento acessado

Inserir:1 Inserir em árvore de busca2 Afunilar elemento inserido

Remover:1 Buscar elemento e guardar o pai se houver2 Remover elemento3 Se houver pai, afunilar o pai

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 15 / 17

Page 91: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Outras operaçõesSuponha que todos os elementos de S são menores que os elementos de T .

Como criar uma árvore com a união?

Juntar(S , T )1 Encontrar nó x que é máximo de S2 Afunilar o nó x3 Fazer T ser filho direito de x

Suponha que temos um número n uma árvore T . Como separar elementosmenores ou iguais n dos maiores que n?

Separar(T , n):1 Buscar nó x que é o maior elemnto menor ou igual a n2 Afunilar x3 Fazer T o filho direito de x4 Fazer S a árvore remanescente.

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 16 / 17

Page 92: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Outras operaçõesSuponha que todos os elementos de S são menores que os elementos de T .Como criar uma árvore com a união?

Juntar(S , T )1 Encontrar nó x que é máximo de S2 Afunilar o nó x3 Fazer T ser filho direito de x

Suponha que temos um número n uma árvore T . Como separar elementosmenores ou iguais n dos maiores que n?

Separar(T , n):1 Buscar nó x que é o maior elemnto menor ou igual a n2 Afunilar x3 Fazer T o filho direito de x4 Fazer S a árvore remanescente.

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 16 / 17

Page 93: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Outras operaçõesSuponha que todos os elementos de S são menores que os elementos de T .Como criar uma árvore com a união?

Juntar(S , T )1 Encontrar nó x que é máximo de S2 Afunilar o nó x3 Fazer T ser filho direito de x

Suponha que temos um número n uma árvore T . Como separar elementosmenores ou iguais n dos maiores que n?

Separar(T , n):1 Buscar nó x que é o maior elemnto menor ou igual a n2 Afunilar x3 Fazer T o filho direito de x4 Fazer S a árvore remanescente.

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 16 / 17

Page 94: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Outras operaçõesSuponha que todos os elementos de S são menores que os elementos de T .Como criar uma árvore com a união?

Juntar(S , T )1 Encontrar nó x que é máximo de S2 Afunilar o nó x3 Fazer T ser filho direito de x

Suponha que temos um número n uma árvore T .

Como separar elementosmenores ou iguais n dos maiores que n?

Separar(T , n):1 Buscar nó x que é o maior elemnto menor ou igual a n2 Afunilar x3 Fazer T o filho direito de x4 Fazer S a árvore remanescente.

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 16 / 17

Page 95: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Outras operaçõesSuponha que todos os elementos de S são menores que os elementos de T .Como criar uma árvore com a união?

Juntar(S , T )1 Encontrar nó x que é máximo de S2 Afunilar o nó x3 Fazer T ser filho direito de x

Suponha que temos um número n uma árvore T . Como separar elementosmenores ou iguais n dos maiores que n?

Separar(T , n):1 Buscar nó x que é o maior elemnto menor ou igual a n2 Afunilar x3 Fazer T o filho direito de x4 Fazer S a árvore remanescente.

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 16 / 17

Page 96: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Outras operaçõesSuponha que todos os elementos de S são menores que os elementos de T .Como criar uma árvore com a união?

Juntar(S , T )1 Encontrar nó x que é máximo de S2 Afunilar o nó x3 Fazer T ser filho direito de x

Suponha que temos um número n uma árvore T . Como separar elementosmenores ou iguais n dos maiores que n?

Separar(T , n):1 Buscar nó x que é o maior elemnto menor ou igual a n2 Afunilar x3 Fazer T o filho direito de x4 Fazer S a árvore remanescente.

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 16 / 17

Page 97: MC-202 — Unidade 11 Árvores de Afunilamentolehilton/mc202ef/unidade11.pdf · MC-202 — Unidade 11 Árvores de Afunilamento Lehilton Pedrosa Instituto de Computação – Unicamp

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Exercício

1 A ordem das rotações nos passos zig-zig e zig-zag é importante para mantero bom balanceamento da árvore. Em cada caso, quem deve ser rotacionadoprimeiro: pai ou avô?

2 Desenhe a árvore splay-tree que é obtida a partir de uma árvore vazia após:a inserção de elementos 1, 3, 5, 7, 8, busca do elemento 3 e busca doelemento 8.

Lehilton Pedrosa (IC/Unicamp) MC-202 — Unidade 11 Segundo Semestre de 2016 17 / 17