58
layout à esquerda da raiz do primeiro layout, o terceiro layout à direita da raiz do segundo
layout e assim sucessivamente até que o último layout, esparso (
kp
) ou esquerdo (
kp
),
dependendo da criticidade da última parte de T seja inserido à direita da raiz do último e único
layout.
Lema 3.9 (SKODINIS, 2003): Seja T uma árvore enraizada em u e s = (k
1
, k
2
, ..., k
p
) a
seqüência de u.
i) Se k
p
é crítico em s então L = esparso (
k1
) esparso (
k2
) ... esparso (
kp
) é um
layout ótimo de T;
ii) Se k
p
é não-crítico em s então L = esparso (
k1
) ... esparso (
k(p-1)
) esquerdo (
kp
)
é um layout ótimo de T.
Calcularemos agora um layout ótimo da árvore T da FIG. 3.7 a partir do coarse layout de
T. A árvore T possui raiz A com seqüência s = (2,1,0), e {C,B,A} o conjunto dos vértices
correspondentes a s. As partes de T são
2
= T[C],
1
= T’[B] e
0
= T’’. O coarse layout de T
é dado por coarse = ((I,K,Q,L,R,M,S,C,J,N,T,O,U,P,N), (D,G,B,F,E,H), (A,A)). Segundo o
Lema 3.9 um layout ótimo de T é dado por L = esparso (
2
) esparso (
1
) esquerdo
(
0
) = ( (I,K,Q,L,R,M,S,C,J,N,T,O,U,P,N) (D,G,B,F,E,H) (A), cujos focos (vértices
sublinhados) são C, B e A respectivamente. Vamos resolver a primeira operação
(I,K,Q,L,R,M,S,C,J,N,T,O,U,P,N) (D,G,B,F,E,H) = (I,K,Q,L,R,M,S,C) & (D,G,B,F,E,H) &
(J,N,T,O,U,P,N) = (I,K,Q,L,R,M,S,C,D,G,B,F,E,H,J,N,T,O,U,P,N). Agora resolvendo a
segunda operação L = (I,K,Q,L,R,M,S,C,D,G,B,F,E,H,J,N,T,O,U,P,N) (A) =
(I,K,Q,L,R,M,S,C,D,G,B,A,F,E,H,J,N,T,O,U,P,N) temos um layout ótimo da árvore T da FIG.
3.7.
3.3.4. CONSTRUÇÃO DE UM COARSE LAYOUT
Nesta subseção será apresentado um procedimento para calcular um coarse layout de uma
árvore utilizando-se os coarses layouts de suas subárvores. O procedimento é a base do
algoritmo linear para determinação do layout ótimo de árvores em geral que será descrito na
Seção 3.3.5.