</equation>
-->
+<!-- mk4ht htlatex t.tex "xhtml,mathml" -->
+
<chapter id="gavlalg">
<title>Used Algorithms Background</title>
<sect1><title>Tree Balancing Operations</title>
<inlineequation>
<alt>$\textrm{X}$
</alt>
+ <mml:math display="inline" >
+ <mml:mstyle class="mbox"><mml:mtext class="textrm" mathvariant="normal" >X</mml:mtext></mml:mstyle>
+ </mml:math>
+ <!--
<inlinemediaobject>
<imageobject>
<imagedata fileref="img/gavl_eq1.gif" format="GIF"/>
</imageobject>
</inlinemediaobject>
+ -->
</inlineequation>. The height of subtree starting at
<inlineequation>
<alt>$\textrm{X}$
</alt>
+ <mml:math display="inline" >
+ <mml:mstyle class="mbox"><mml:mtext class="textrm" mathvariant="normal" >X</mml:mtext></mml:mstyle>
+ </mml:math>
+ <!--
<inlinemediaobject>
<imageobject>
<imagedata fileref="img/gavl_eq1.gif" format="GIF"/>
</imageobject>
</inlinemediaobject>
+ -->
</inlineequation> is labeled as
<inlineequation>
<alt>$x=height(\textrm{X})$
</alt>
- <inlinemediaobject>
+ <mml:math display="inline" ><mml:mi>x</mml:mi> <mml:mo class="MathClass-rel">=</mml:mo> <mml:mi>height</mml:mi><mml:mrow >
+ <mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mstyle class="mbox"><mml:mtext class="textrm" mathvariant="normal" >X</mml:mtext>
+ </mml:mstyle></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow>
+ </mml:math>
+ <!-- <inlinemediaobject>
<imageobject>
<imagedata fileref="img/gavl_eq1.gif" format="GIF"/>
</imageobject>
- </inlinemediaobject>
+ </inlinemediaobject> -->
</inlineequation>. Height difference (balance factor) for node
<inlineequation>
<alt>$\textrm{X}$
</alt>
+ <mml:math display="inline" >
+ <mml:mstyle class="mbox"><mml:mtext class="textrm" mathvariant="normal" >X</mml:mtext></mml:mstyle>
+ </mml:math>
+ <!--
<inlinemediaobject>
<imageobject>
<imagedata fileref="img/gavl_eq1.gif" format="GIF"/>
</imageobject>
</inlinemediaobject>
+ -->
</inlineequation> is labeled as
<inlineequation>
<alt>$\Delta x=height(left(\textrm{X}))-height(right(\textrm{X}))$
</alt>
+ <mml:math display="inline" ><mml:mi>Δ</mml:mi><mml:mi>x</mml:mi> <mml:mo class="MathClass-rel">=</mml:mo>
+ <mml:mi>height</mml:mi><mml:mrow ><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>left</mml:mi>
+ <mml:mrow ><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mstyle class="mbox"><mml:mtext
+ class="textrm" mathvariant="normal" >X</mml:mtext></mml:mstyle></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow><mml:mo
+ class="MathClass-close">)</mml:mo></mml:mrow> <mml:mo class="MathClass-bin">-</mml:mo> <mml:mi
+ >height</mml:mi><mml:mrow ><mml:mo
+ class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>right</mml:mi><mml:mrow ><mml:mo
+ class="MathClass-open">(</mml:mo><mml:mrow><mml:mstyle
+ class="mbox"><mml:mtext class="textrm" mathvariant="normal" >X</mml:mtext></mml:mstyle></mml:mrow><mml:mo
+ class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow><mml:mo
+ class="MathClass-close">)</mml:mo></mml:mrow>
+ </mml:math>
+ <!--
<inlinemediaobject>
<imageobject>
<imagedata fileref="img/gavl_eq1.gif" format="GIF"/>
</imageobject>
</inlinemediaobject>
+ -->
</inlineequation>.
</para>
<sect2>
\end{eqnarray*}
</alt>
+ <mml:math display="block" >
+ <mml:mtable
+ class="eqnarray-star" columnalign="right center left" >
+ <mml:mtr><mml:mtd
+ class="eqnarray-1"> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >s</mml:mi></mml:mtd><mml:mtd
+ class="eqnarray-2"> <mml:mo
+ class="MathClass-rel">=</mml:mo></mml:mtd><mml:mtd
+ class="eqnarray-3"> <mml:mi
+ >n</mml:mi> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mi
+ >b</mml:mi><mml:mspace width="2em" class="qquad"/> <mml:mo
+ class="MathClass-rel">≥</mml:mo> <mml:mn>2</mml:mn></mml:mtd><mml:mtd
+ class="eqnarray-4"> <mml:mtext class="eqnarray"></mml:mtext></mml:mtd>
+ </mml:mtr><mml:mtr><mml:mtd
+ class="eqnarray-1"> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >n</mml:mi></mml:mtd><mml:mtd
+ class="eqnarray-2"> <mml:mo
+ class="MathClass-rel">=</mml:mo></mml:mtd><mml:mtd
+ class="eqnarray-3"> <mml:mi
+ >a</mml:mi> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mi
+ >p</mml:mi><mml:mspace width="2em" class="qquad"/> <mml:mo
+ class="MathClass-rel">≥</mml:mo> <mml:mn>0</mml:mn></mml:mtd><mml:mtd
+ class="eqnarray-4"> <mml:mtext class="eqnarray"></mml:mtext></mml:mtd> </mml:mtr></mml:mtable>
+ </mml:math>
+ <!--
<mediaobject>
<imageobject>
<imagedata fileref="img/gavl_eq1.gif" format="GIF"/>
</imageobject>
</mediaobject>
+ -->
</equation> The height of subtree
<inlineequation>
<alt>$\textrm{S}$
</alt>
+ <mml:math display="inline" >
+ <mml:mstyle class="mbox"><mml:mtext class="textrm" mathvariant="normal" >S</mml:mtext></mml:mstyle>
+ </mml:math>
+ <!--
<inlinemediaobject>
<imageobject>
<imagedata fileref="img/gavl_eq1.gif" format="GIF"/>
</imageobject>
</inlinemediaobject>
+ -->
</inlineequation> is defined by highest branch, which is branch grovinggrowing from node
<inlineequation>
<alt>$\textrm{A}$
\end{eqnarray*}
</alt>
+ <mml:math display="block" >
+ <mml:mtable
+ class="eqnarray-star" columnalign="right center left" >
+ <mml:mtr><mml:mtd
+ class="eqnarray-1"> <mml:mi
+ >n</mml:mi></mml:mtd><mml:mtd
+ class="eqnarray-2"> <mml:mo
+ class="MathClass-rel">=</mml:mo></mml:mtd><mml:mtd
+ class="eqnarray-3"> <mml:mi
+ >a</mml:mi> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:mn>1</mml:mn> </mml:mtd><mml:mtd
+ class="eqnarray-4"> <mml:mtext class="eqnarray"></mml:mtext></mml:mtd>
+ </mml:mtr><mml:mtr><mml:mtd
+ class="eqnarray-1"> <mml:mi
+ >s</mml:mi></mml:mtd><mml:mtd
+ class="eqnarray-2"> <mml:mo
+ class="MathClass-rel">=</mml:mo></mml:mtd><mml:mtd
+ class="eqnarray-3"> <mml:mi
+ >a</mml:mi> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:mn>2</mml:mn> </mml:mtd><mml:mtd
+ class="eqnarray-4"> <mml:mtext class="eqnarray"></mml:mtext></mml:mtd>
+ </mml:mtr><mml:mtr><mml:mtd
+ class="eqnarray-1"> <mml:mi
+ >p</mml:mi></mml:mtd><mml:mtd
+ class="eqnarray-2"> <mml:mo
+ class="MathClass-rel">=</mml:mo></mml:mtd><mml:mtd
+ class="eqnarray-3"> <mml:mi
+ >a</mml:mi> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >n</mml:mi> </mml:mtd><mml:mtd
+ class="eqnarray-4"> <mml:mtext class="eqnarray"></mml:mtext></mml:mtd>
+ </mml:mtr><mml:mtr><mml:mtd
+ class="eqnarray-1"> <mml:mi
+ >b</mml:mi></mml:mtd><mml:mtd
+ class="eqnarray-2"> <mml:mo
+ class="MathClass-rel">=</mml:mo></mml:mtd><mml:mtd
+ class="eqnarray-3"> <mml:mi
+ >a</mml:mi> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:mn>1</mml:mn> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >s</mml:mi></mml:mtd><mml:mtd
+ class="eqnarray-4"> <mml:mtext class="eqnarray"></mml:mtext></mml:mtd> </mml:mtr></mml:mtable>
+ </mml:math>
+ <!--
<mediaobject>
<imageobject>
<imagedata fileref="img/gavl_eq1.gif" format="GIF"/>
</imageobject>
</mediaobject>
+ -->
</equation>The height of branches
<inlineequation>
<alt>$\textrm{N}$
</alt>
+ <mml:math display="inline" >
+ <mml:mstyle class="mbox"><mml:mtext class="textrm" mathvariant="normal" >N</mml:mtext></mml:mstyle>
+ </mml:math>
+ <!--
<inlinemediaobject>
<imageobject>
<imagedata fileref="img/gavl_eq1.gif" format="GIF"/>
</imageobject>
</inlinemediaobject>
+ -->
</inlineequation> and
<inlineequation>
<alt>$\textrm{S}$
</alt>
+ <mml:math display="inline" >
+ <mml:mstyle class="mbox"><mml:mtext class="textrm" mathvariant="normal" >S</mml:mtext></mml:mstyle>
+ </mml:math>
+ <!--
<inlinemediaobject>
<imageobject>
<imagedata fileref="img/gavl_eq1.gif" format="GIF"/>
</imageobject>
</inlinemediaobject>
+ -->
</inlineequation> is marked as
<inlineequation>
<alt>$n1$
</alt>
+ <mml:math display="inline" ><mml:mi>n</mml:mi><mml:mn>1</mml:mn></mml:math>
+ <!--
<inlinemediaobject>
<imageobject>
<imagedata fileref="img/gavl_eq1.gif" format="GIF"/>
</imageobject>
</inlinemediaobject>
+ -->
</inlineequation> and
<inlineequation>
<alt>$s1$
</alt>
+ <mml:math display="inline" ><mml:mi>s</mml:mi><mml:mn>1</mml:mn></mml:math>
+ <!--
<inlinemediaobject>
<imageobject>
<imagedata fileref="img/gavl_eq1.gif" format="GIF"/>
</imageobject>
</inlinemediaobject>
+ -->
</inlineequation> after balancing.
<equation>
<alt>\begin{eqnarray*}
\end{eqnarray*}
</alt>
+ <mml:math display="block" >
+ <mml:mtable
+ class="eqnarray-star" columnalign="right center left" >
+ <mml:mtr><mml:mtd
+ class="eqnarray-1"> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >s</mml:mi><mml:mn>1</mml:mn></mml:mtd><mml:mtd
+ class="eqnarray-2"> <mml:mo
+ class="MathClass-rel">=</mml:mo></mml:mtd><mml:mtd
+ class="eqnarray-3"> <mml:mi
+ >p</mml:mi> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mi
+ >b</mml:mi> </mml:mtd><mml:mtd
+ class="eqnarray-4"> <mml:mtext class="eqnarray"></mml:mtext></mml:mtd>
+ </mml:mtr><mml:mtr><mml:mtd
+ class="eqnarray-1"> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >n</mml:mi><mml:mn>1</mml:mn></mml:mtd><mml:mtd
+ class="eqnarray-2"> <mml:mo
+ class="MathClass-rel">=</mml:mo></mml:mtd><mml:mtd
+ class="eqnarray-3"> <mml:mi
+ >a</mml:mi> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mi
+ >s</mml:mi><mml:mn>1</mml:mn></mml:mtd><mml:mtd
+ class="eqnarray-4"> <mml:mtext class="eqnarray"></mml:mtext></mml:mtd> </mml:mtr></mml:mtable>
+ </mml:math>
+ <!--
<mediaobject>
<imageobject>
<imagedata fileref="img/gavl_eq1.gif" format="GIF"/>
</imageobject>
</mediaobject>
+ -->
</equation>
<equation>
<alt>\begin{eqnarray*}
\end{eqnarray*}
</alt>
+ <mml:math display="block" >
+ <mml:mtable
+ class="eqnarray-star" columnalign="right center left" >
+ <mml:mtr><mml:mtd
+ class="eqnarray-1"> <mml:mi
+ >s</mml:mi><mml:mn>1</mml:mn></mml:mtd><mml:mtd
+ class="eqnarray-2"> <mml:mo
+ class="MathClass-rel">=</mml:mo></mml:mtd><mml:mtd
+ class="eqnarray-3"> <mml:mo
+ class="MathClass-op">max</mml:mo><mml:mrow ><mml:mo
+ class="MathClass-open">(</mml:mo><mml:mrow><mml:mi
+ >p</mml:mi><mml:mo
+ class="MathClass-punc">,</mml:mo><mml:mi
+ >b</mml:mi></mml:mrow><mml:mo
+ class="MathClass-close">)</mml:mo></mml:mrow> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:mn>1</mml:mn> </mml:mtd><mml:mtd
+ class="eqnarray-4"> <mml:mtext class="eqnarray"></mml:mtext></mml:mtd>
+ </mml:mtr><mml:mtr><mml:mtd
+ class="eqnarray-1"> <mml:mi
+ >s</mml:mi><mml:mn>1</mml:mn></mml:mtd><mml:mtd
+ class="eqnarray-2"> <mml:mo
+ class="MathClass-rel">=</mml:mo></mml:mtd><mml:mtd
+ class="eqnarray-3"> <mml:mo
+ class="MathClass-op">max</mml:mo><mml:mrow ><mml:mo
+ class="MathClass-open">(</mml:mo><mml:mrow><mml:mi
+ >a</mml:mi> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >n</mml:mi><mml:mo
+ class="MathClass-punc">,</mml:mo><mml:mi
+ >a</mml:mi> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:mn>1</mml:mn> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >s</mml:mi></mml:mrow><mml:mo
+ class="MathClass-close">)</mml:mo></mml:mrow> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:mn>1</mml:mn></mml:mtd><mml:mtd
+ class="eqnarray-4"> <mml:mtext class="eqnarray"></mml:mtext></mml:mtd>
+ </mml:mtr><mml:mtr><mml:mtd
+ class="eqnarray-1"> <mml:mi
+ >s</mml:mi><mml:mn>1</mml:mn></mml:mtd><mml:mtd
+ class="eqnarray-2"> <mml:mo
+ class="MathClass-rel">=</mml:mo></mml:mtd><mml:mtd
+ class="eqnarray-3"> <mml:mi
+ >a</mml:mi> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:mn>1</mml:mn> <mml:mo
+ class="MathClass-bin">+</mml:mo><mml:mo
+ class="MathClass-op"> max</mml:mo><mml:mrow ><mml:mo
+ class="MathClass-open">(</mml:mo><mml:mrow><mml:mo
+ class="MathClass-bin">-</mml:mo><mml:mi
+ >Δ</mml:mi><mml:mi
+ >n</mml:mi><mml:mo
+ class="MathClass-punc">,</mml:mo> <mml:mn>1</mml:mn> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >s</mml:mi></mml:mrow><mml:mo
+ class="MathClass-close">)</mml:mo></mml:mrow> </mml:mtd><mml:mtd
+ class="eqnarray-4"> <mml:mtext class="eqnarray"></mml:mtext></mml:mtd>
+ </mml:mtr><mml:mtr><mml:mtd
+ class="eqnarray-1"> <mml:mi
+ >s</mml:mi><mml:mn>1</mml:mn></mml:mtd><mml:mtd
+ class="eqnarray-2"> <mml:mo
+ class="MathClass-rel">=</mml:mo></mml:mtd><mml:mtd
+ class="eqnarray-3"> <mml:mi
+ >a</mml:mi> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:mn>1</mml:mn> <mml:mo
+ class="MathClass-bin">-</mml:mo><mml:mo
+ class="MathClass-op"> min</mml:mo><mml:mrow ><mml:mo
+ class="MathClass-open">(</mml:mo><mml:mrow><mml:mi
+ >Δ</mml:mi><mml:mi
+ >n</mml:mi><mml:mo
+ class="MathClass-punc">,</mml:mo> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >s</mml:mi> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mn>1</mml:mn></mml:mrow><mml:mo
+ class="MathClass-close">)</mml:mo></mml:mrow> </mml:mtd><mml:mtd
+ class="eqnarray-4"> <mml:mtext class="eqnarray"></mml:mtext></mml:mtd> </mml:mtr></mml:mtable>
+ </mml:math>
+ <!--
<mediaobject>
<imageobject>
<imagedata fileref="img/gavl_eq1.gif" format="GIF"/>
</imageobject>
</mediaobject>
+ -->
</equation>
<equation>
<alt>\begin{eqnarray*}
\end{eqnarray*}
</alt>
+ <mml:math display="block" >
+ <mml:mtable
+ class="eqnarray-star" columnalign="right center left" >
+ <mml:mtr><mml:mtd
+ class="eqnarray-1"> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >s</mml:mi><mml:mn>1</mml:mn></mml:mtd><mml:mtd
+ class="eqnarray-2"> <mml:mo
+ class="MathClass-rel">=</mml:mo></mml:mtd><mml:mtd
+ class="eqnarray-3"> <mml:mi
+ >a</mml:mi> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >n</mml:mi> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mi
+ >a</mml:mi> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mn>1</mml:mn> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >s</mml:mi> </mml:mtd><mml:mtd
+ class="eqnarray-4"> <mml:mtext class="eqnarray"></mml:mtext></mml:mtd>
+ </mml:mtr><mml:mtr><mml:mtd
+ class="eqnarray-1"> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >s</mml:mi><mml:mn>1</mml:mn></mml:mtd><mml:mtd
+ class="eqnarray-2"> <mml:mo
+ class="MathClass-rel">=</mml:mo></mml:mtd><mml:mtd
+ class="eqnarray-3"> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >s</mml:mi> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >n</mml:mi> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mn>1</mml:mn> </mml:mtd><mml:mtd
+ class="eqnarray-4"> <mml:mtext class="eqnarray"></mml:mtext></mml:mtd>
+ </mml:mtr><mml:mtr><mml:mtd
+ class="eqnarray-1"> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >n</mml:mi><mml:mn>1</mml:mn></mml:mtd><mml:mtd
+ class="eqnarray-2"> <mml:mo
+ class="MathClass-rel">=</mml:mo></mml:mtd><mml:mtd
+ class="eqnarray-3"> <mml:mi
+ >a</mml:mi> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mi
+ >a</mml:mi> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mn>1</mml:mn> <mml:mo
+ class="MathClass-bin">+</mml:mo><mml:mo
+ class="MathClass-op"> min</mml:mo><mml:mrow ><mml:mo
+ class="MathClass-open">(</mml:mo><mml:mrow><mml:mi
+ >Δ</mml:mi><mml:mi
+ >n</mml:mi><mml:mo
+ class="MathClass-punc">,</mml:mo> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >s</mml:mi> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mn>1</mml:mn></mml:mrow><mml:mo
+ class="MathClass-close">)</mml:mo></mml:mrow> </mml:mtd><mml:mtd
+ class="eqnarray-4"> <mml:mtext class="eqnarray"></mml:mtext></mml:mtd>
+ </mml:mtr><mml:mtr><mml:mtd
+ class="eqnarray-1"> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >n</mml:mi><mml:mn>1</mml:mn></mml:mtd><mml:mtd
+ class="eqnarray-2"> <mml:mo
+ class="MathClass-rel">=</mml:mo></mml:mtd><mml:mtd
+ class="eqnarray-3"> <mml:mo
+ class="MathClass-op">min</mml:mo><mml:mrow ><mml:mo
+ class="MathClass-open">(</mml:mo><mml:mrow><mml:mi
+ >Δ</mml:mi><mml:mi
+ >n</mml:mi> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mn>1</mml:mn><mml:mo
+ class="MathClass-punc">,</mml:mo> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >s</mml:mi> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mn>2</mml:mn></mml:mrow><mml:mo
+ class="MathClass-close">)</mml:mo></mml:mrow> </mml:mtd><mml:mtd
+ class="eqnarray-4"> <mml:mtext class="eqnarray"></mml:mtext></mml:mtd>
+ </mml:mtr><mml:mtr><mml:mtd
+ class="eqnarray-1"> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >n</mml:mi><mml:mn>1</mml:mn></mml:mtd><mml:mtd
+ class="eqnarray-2"> <mml:mo
+ class="MathClass-rel">=</mml:mo></mml:mtd><mml:mtd
+ class="eqnarray-3"> <mml:mfenced separators=""
+ open="⟨" close="" ><mml:mrow> <mml:mtable style="text-align:axis"
+ equalrows="false" equalcolumns="false" class="array"><mml:mtr><mml:mtd
+ class="array" columnalign="center"><mml:mi
+ >Δ</mml:mi><mml:mi
+ >n</mml:mi> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mn>1</mml:mn></mml:mtd><mml:mtd
+ class="array" columnalign="center"><mml:mspace width="2em" class="qquad"/><mml:mi
+ >Δ</mml:mi><mml:mi
+ >s</mml:mi> <mml:mo
+ class="MathClass-rel">≥</mml:mo> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >n</mml:mi> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:mn>1</mml:mn></mml:mtd>
+ </mml:mtr><mml:mtr><mml:mtd
+ class="array" columnalign="center"> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >s</mml:mi> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mn>2</mml:mn> </mml:mtd><mml:mtd
+ class="array" columnalign="center"><mml:mspace width="2em" class="qquad"/><mml:mi
+ >Δ</mml:mi><mml:mi
+ >s</mml:mi> <mml:mo
+ class="MathClass-rel">≤</mml:mo> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >n</mml:mi> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:mn>1</mml:mn></mml:mtd></mml:mtr> <!--cc--></mml:mtable> </mml:mrow></mml:mfenced></mml:mtd><mml:mtd
+ class="eqnarray-4"> <mml:mtext class="eqnarray"></mml:mtext></mml:mtd></mml:mtr></mml:mtable>
+ </mml:math>
+ <!--
<mediaobject>
<imageobject>
<imagedata fileref="img/gavl_eq1.gif" format="GIF"/>
</imageobject>
- </mediaobject>
+ </mediaobject> -->
</equation>Because balancing in case 1 does not guarantee that new tree has lower height than original tree, it is necessary to compute tree height change (tree height lowering).
<equation>
<alt>\begin{eqnarray*}
\end{eqnarray*}
</alt>
+ <mml:math display="block" >
+ <mml:mtable
+ class="eqnarray-star" columnalign="right center left" >
+ <mml:mtr><mml:mtd
+ class="eqnarray-1"> <mml:mi
+ >s</mml:mi> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mi
+ >n</mml:mi><mml:mn>1</mml:mn></mml:mtd><mml:mtd
+ class="eqnarray-2"> <mml:mo
+ class="MathClass-rel">=</mml:mo></mml:mtd><mml:mtd
+ class="eqnarray-3"> <mml:mi
+ >s</mml:mi> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mrow ><mml:mo
+ class="MathClass-open">(</mml:mo><mml:mrow><mml:mo
+ class="MathClass-op">max</mml:mo><mml:mrow ><mml:mo
+ class="MathClass-open">(</mml:mo><mml:mrow><mml:mi
+ >a</mml:mi><mml:mo
+ class="MathClass-punc">,</mml:mo><mml:mi
+ >s</mml:mi><mml:mn>1</mml:mn></mml:mrow><mml:mo
+ class="MathClass-close">)</mml:mo></mml:mrow> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:mn>1</mml:mn></mml:mrow><mml:mo
+ class="MathClass-close">)</mml:mo></mml:mrow> </mml:mtd><mml:mtd
+ class="eqnarray-4"> <mml:mtext class="eqnarray"></mml:mtext></mml:mtd>
+ </mml:mtr><mml:mtr><mml:mtd
+ class="eqnarray-1"> </mml:mtd><mml:mtd
+ class="eqnarray-2"> <mml:mo
+ class="MathClass-rel">=</mml:mo></mml:mtd><mml:mtd
+ class="eqnarray-3"> <mml:mi
+ >a</mml:mi> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:mn>2</mml:mn> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mrow ><mml:mo
+ class="MathClass-open">(</mml:mo><mml:mrow><mml:mo
+ class="MathClass-op">max</mml:mo><mml:mrow ><mml:mo
+ class="MathClass-open">(</mml:mo><mml:mrow><mml:mi
+ >a</mml:mi><mml:mo
+ class="MathClass-punc">,</mml:mo><mml:mi
+ >a</mml:mi> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:mn>1</mml:mn> <mml:mo
+ class="MathClass-bin">+</mml:mo><mml:mo
+ class="MathClass-op"> max</mml:mo><mml:mrow ><mml:mo
+ class="MathClass-open">(</mml:mo><mml:mrow><mml:mo
+ class="MathClass-bin">-</mml:mo><mml:mi
+ >Δ</mml:mi><mml:mi
+ >n</mml:mi><mml:mo
+ class="MathClass-punc">,</mml:mo> <mml:mn>1</mml:mn> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >s</mml:mi></mml:mrow><mml:mo
+ class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow><mml:mo
+ class="MathClass-close">)</mml:mo></mml:mrow> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:mn>1</mml:mn></mml:mrow><mml:mo
+ class="MathClass-close">)</mml:mo></mml:mrow> </mml:mtd><mml:mtd
+ class="eqnarray-4"> <mml:mtext class="eqnarray"></mml:mtext></mml:mtd>
+ </mml:mtr><mml:mtr><mml:mtd
+ class="eqnarray-1"> </mml:mtd><mml:mtd
+ class="eqnarray-2"> <mml:mo
+ class="MathClass-rel">=</mml:mo></mml:mtd><mml:mtd
+ class="eqnarray-3"> <mml:mn>1</mml:mn> <mml:mo
+ class="MathClass-bin">-</mml:mo><mml:mo
+ class="MathClass-op"> max</mml:mo><mml:mrow ><mml:mo
+ class="MathClass-open">(</mml:mo><mml:mrow><mml:mn>0</mml:mn><mml:mo
+ class="MathClass-punc">,</mml:mo><mml:mo
+ class="MathClass-op"> max</mml:mo><mml:mrow ><mml:mo
+ class="MathClass-open">(</mml:mo><mml:mrow><mml:mn>1</mml:mn> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >n</mml:mi><mml:mo
+ class="MathClass-punc">,</mml:mo> <mml:mn>2</mml:mn> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >s</mml:mi></mml:mrow><mml:mo
+ class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow><mml:mo
+ class="MathClass-close">)</mml:mo></mml:mrow> </mml:mtd><mml:mtd
+ class="eqnarray-4"> <mml:mtext class="eqnarray"></mml:mtext></mml:mtd>
+ </mml:mtr><mml:mtr><mml:mtd
+ class="eqnarray-1"> </mml:mtd><mml:mtd
+ class="eqnarray-2"> <mml:mo
+ class="MathClass-rel">=</mml:mo></mml:mtd><mml:mtd
+ class="eqnarray-3"> <mml:mo
+ class="MathClass-op">min</mml:mo><mml:mrow ><mml:mo
+ class="MathClass-open">(</mml:mo><mml:mrow><mml:mn>1</mml:mn><mml:mo
+ class="MathClass-punc">,</mml:mo> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >n</mml:mi><mml:mo
+ class="MathClass-punc">,</mml:mo> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >s</mml:mi> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mn>1</mml:mn></mml:mrow><mml:mo
+ class="MathClass-close">)</mml:mo></mml:mrow><mml:mspace width="2em" class="qquad"/><mml:mi
+ >Δ</mml:mi><mml:mi
+ >n</mml:mi> <mml:mo
+ class="MathClass-rel">≥</mml:mo> <mml:mn>0</mml:mn><mml:mo
+ class="MathClass-punc">,</mml:mo> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >s</mml:mi> <mml:mo
+ class="MathClass-rel">≥</mml:mo> <mml:mn>2</mml:mn> </mml:mtd><mml:mtd
+ class="eqnarray-4"> <mml:mtext class="eqnarray"></mml:mtext></mml:mtd>
+ </mml:mtr><mml:mtr><mml:mtd
+ class="eqnarray-1"> </mml:mtd><mml:mtd
+ class="eqnarray-2"> <mml:mo
+ class="MathClass-rel">=</mml:mo></mml:mtd><mml:mtd
+ class="eqnarray-3"> <mml:mo
+ class="MathClass-op">min</mml:mo><mml:mrow ><mml:mo
+ class="MathClass-open">(</mml:mo><mml:mrow><mml:mn>1</mml:mn><mml:mo
+ class="MathClass-punc">,</mml:mo> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >n</mml:mi></mml:mrow><mml:mo
+ class="MathClass-close">)</mml:mo></mml:mrow> </mml:mtd><mml:mtd
+ class="eqnarray-4"> <mml:mtext class="eqnarray"></mml:mtext></mml:mtd>
+ </mml:mtr><mml:mtr><mml:mtd
+ class="eqnarray-1"> <mml:mi
+ >s</mml:mi> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mi
+ >n</mml:mi><mml:mn>1</mml:mn></mml:mtd><mml:mtd
+ class="eqnarray-2"> <mml:mo
+ class="MathClass-rel">=</mml:mo></mml:mtd><mml:mtd
+ class="eqnarray-3"> <mml:mfenced separators=""
+ open="⟨" close="" ><mml:mrow> <mml:mtable style="text-align:axis"
+ equalrows="false" equalcolumns="false" class="array"><mml:mtr><mml:mtd
+ class="array" columnalign="center"><mml:mn>1</mml:mn></mml:mtd><mml:mtd
+ class="array" columnalign="center"> <mml:mspace width="2em" class="qquad"/><mml:mi
+ >Δ</mml:mi><mml:mi
+ >n</mml:mi><mml:mo
+ class="MathClass-rel">≠</mml:mo><mml:mn>0</mml:mn> </mml:mtd>
+ </mml:mtr><mml:mtr><mml:mtd
+ class="array" columnalign="center"> <mml:mn>0</mml:mn> </mml:mtd><mml:mtd
+ class="array" columnalign="center"><mml:mspace width="2em" class="qquad"/><mml:mi
+ >Δ</mml:mi><mml:mi
+ >n</mml:mi> <mml:mo
+ class="MathClass-rel">=</mml:mo> <mml:mn>1</mml:mn></mml:mtd></mml:mtr> <!--cc--></mml:mtable> </mml:mrow></mml:mfenced></mml:mtd><mml:mtd
+ class="eqnarray-4"> <mml:mtext class="eqnarray"></mml:mtext></mml:mtd></mml:mtr></mml:mtable>
+ </mml:math>
+ <!--
<mediaobject>
<imageobject>
<imagedata fileref="img/gavl_eq1.gif" format="GIF"/>
</imageobject>
</mediaobject>
+ -->
</equation></para></sect2>
<sect2><title>Tree Balancing Case 2</title>
<para>
<inlineequation>
<alt>$\textrm{P}$
</alt>
+ <mml:math display="inline" >
+ <mml:mstyle class="mbox"><mml:mtext class="textrm" mathvariant="normal" >P</mml:mtext></mml:mstyle>
+ </mml:math>
+ <!--
<inlinemediaobject>
<imageobject>
<imagedata fileref="img/gavl_eq1.gif" format="GIF"/>
</imageobject>
</inlinemediaobject>
+ -->
</inlineequation>
<inlineequation>
<alt>$\textrm{B}$
</alt>
+ <mml:math display="inline" >
+ <mml:mstyle class="mbox"><mml:mtext class="textrm" mathvariant="normal" >B</mml:mtext></mml:mstyle>
+ </mml:math>
+ <!--
<inlinemediaobject>
<imageobject>
<imagedata fileref="img/gavl_eq1.gif" format="GIF"/>
</imageobject>
</inlinemediaobject>
+ -->
</inlineequation> or
<inlineequation>
<alt>$\textrm{P}$
</alt>
+ <mml:math display="inline" >
+ <mml:mstyle class="mbox"><mml:mtext class="textrm" mathvariant="normal" >P</mml:mtext></mml:mstyle>
+ </mml:math>
+ <!--
<inlinemediaobject>
<imageobject>
<imagedata fileref="img/gavl_eq1.gif" format="GIF"/>
</imageobject>
</inlinemediaobject>
+ -->
</inlineequation>
<inlineequation>
<alt>$\textrm{C}$
</alt>
+ <mml:math display="inline" >
+ <mml:mstyle class="mbox"><mml:mtext class="textrm" mathvariant="normal" >C</mml:mtext></mml:mstyle>
+ </mml:math>
+ <!--
<inlinemediaobject>
<imageobject>
<imagedata fileref="img/gavl_eq1.gif" format="GIF"/>
</imageobject>
</inlinemediaobject>
+ -->
</inlineequation>.
<equation>
<alt>\begin{eqnarray*}
\end{eqnarray*}
</alt>
+ <mml:math display="block" >
+ <mml:mtable
+ class="eqnarray-star" columnalign="right center left" >
+ <mml:mtr><mml:mtd
+ class="eqnarray-1"> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >s</mml:mi></mml:mtd><mml:mtd
+ class="eqnarray-2"> <mml:mo
+ class="MathClass-rel">=</mml:mo></mml:mtd><mml:mtd
+ class="eqnarray-3"> <mml:mi
+ >n</mml:mi> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mi
+ >d</mml:mi><mml:mspace width="2em" class="qquad"/> <mml:mo
+ class="MathClass-rel">≥</mml:mo> <mml:mn>2</mml:mn> </mml:mtd><mml:mtd
+ class="eqnarray-4"> <mml:mtext class="eqnarray"></mml:mtext></mml:mtd>
+ </mml:mtr><mml:mtr><mml:mtd
+ class="eqnarray-1"> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >n</mml:mi></mml:mtd><mml:mtd
+ class="eqnarray-2"> <mml:mo
+ class="MathClass-rel">=</mml:mo></mml:mtd><mml:mtd
+ class="eqnarray-3"> <mml:mi
+ >a</mml:mi> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mi
+ >p</mml:mi><mml:mspace width="2em" class="qquad"/> <mml:mo
+ class="MathClass-rel">≤</mml:mo><mml:mo
+ class="MathClass-bin">-</mml:mo><mml:mn>1</mml:mn></mml:mtd><mml:mtd
+ class="eqnarray-4"> <mml:mtext class="eqnarray"></mml:mtext></mml:mtd> </mml:mtr></mml:mtable>
+ </mml:math>
+ <!--
<mediaobject>
<imageobject>
<imagedata fileref="img/gavl_eq1.gif" format="GIF"/>
</imageobject>
</mediaobject>
+ -->
</equation>
<equation>
<alt>\begin{eqnarray*}
\end{eqnarray*}
</alt>
+ <mml:math display="block" >
+ <mml:mtable
+ class="eqnarray-star" columnalign="right center left" >
+ <mml:mtr><mml:mtd
+ class="eqnarray-1"> <mml:mi
+ >n</mml:mi></mml:mtd><mml:mtd
+ class="eqnarray-2"> <mml:mo
+ class="MathClass-rel">=</mml:mo></mml:mtd><mml:mtd
+ class="eqnarray-3"> <mml:mi
+ >p</mml:mi> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:mn>1</mml:mn> </mml:mtd><mml:mtd
+ class="eqnarray-4"> <mml:mtext class="eqnarray"></mml:mtext></mml:mtd>
+ </mml:mtr><mml:mtr><mml:mtd
+ class="eqnarray-1"> <mml:mi
+ >s</mml:mi></mml:mtd><mml:mtd
+ class="eqnarray-2"> <mml:mo
+ class="MathClass-rel">=</mml:mo></mml:mtd><mml:mtd
+ class="eqnarray-3"> <mml:mi
+ >p</mml:mi> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:mn>2</mml:mn> </mml:mtd><mml:mtd
+ class="eqnarray-4"> <mml:mtext class="eqnarray"></mml:mtext></mml:mtd>
+ </mml:mtr><mml:mtr><mml:mtd
+ class="eqnarray-1"> <mml:mi
+ >d</mml:mi></mml:mtd><mml:mtd
+ class="eqnarray-2"> <mml:mo
+ class="MathClass-rel">=</mml:mo></mml:mtd><mml:mtd
+ class="eqnarray-3"> <mml:mi
+ >p</mml:mi> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:mn>1</mml:mn> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >s</mml:mi></mml:mtd><mml:mtd
+ class="eqnarray-4"> <mml:mtext class="eqnarray"></mml:mtext></mml:mtd>
+ </mml:mtr><mml:mtr><mml:mtd
+ class="eqnarray-1"> <mml:mi
+ >a</mml:mi></mml:mtd><mml:mtd
+ class="eqnarray-2"> <mml:mo
+ class="MathClass-rel">=</mml:mo></mml:mtd><mml:mtd
+ class="eqnarray-3"> <mml:mi
+ >p</mml:mi> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >n</mml:mi> </mml:mtd><mml:mtd
+ class="eqnarray-4"> <mml:mtext class="eqnarray"></mml:mtext></mml:mtd> </mml:mtr></mml:mtable>
+ </mml:math>
+ <!--
<mediaobject>
<imageobject>
<imagedata fileref="img/gavl_eq1.gif" format="GIF"/>
</imageobject>
</mediaobject>
+ -->
</equation>
<equation>
<alt>\begin{eqnarray*}
\end{eqnarray*}
</alt>
+ <mml:math display="block" >
+ <mml:mtable
+ class="eqnarray-star" columnalign="right center left" >
+ <mml:mtr><mml:mtd
+ class="eqnarray-1"> <mml:mstyle
+ class="mbox"><mml:mtext class="textrm" mathvariant="normal" >for</mml:mtext></mml:mstyle><mml:mspace width="0em" class="thinspace"/><mml:mi
+ >b</mml:mi> <mml:mo
+ class="MathClass-rel">≥</mml:mo> <mml:mi
+ >c</mml:mi><mml:mspace width="2em" class="qquad"/><mml:mi
+ >c</mml:mi></mml:mtd><mml:mtd
+ class="eqnarray-2"> <mml:mo
+ class="MathClass-rel">=</mml:mo></mml:mtd><mml:mtd
+ class="eqnarray-3"> <mml:mi
+ >b</mml:mi> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >p</mml:mi><mml:mspace width="2em" class="qquad"/><mml:mi
+ >p</mml:mi> <mml:mo
+ class="MathClass-rel">=</mml:mo> <mml:mi
+ >b</mml:mi> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:mn>1</mml:mn></mml:mtd><mml:mtd
+ class="eqnarray-4"> <mml:mtext class="eqnarray"></mml:mtext></mml:mtd>
+ </mml:mtr><mml:mtr><mml:mtd
+ class="eqnarray-1"> <mml:mstyle
+ class="mbox"><mml:mtext class="textrm" mathvariant="normal" >for</mml:mtext></mml:mstyle><mml:mspace width="0em" class="thinspace"/><mml:mi
+ >c</mml:mi> <mml:mo
+ class="MathClass-rel">≥</mml:mo> <mml:mi
+ >b</mml:mi><mml:mspace width="2em" class="qquad"/><mml:mi
+ >b</mml:mi></mml:mtd><mml:mtd
+ class="eqnarray-2"> <mml:mo
+ class="MathClass-rel">=</mml:mo></mml:mtd><mml:mtd
+ class="eqnarray-3"> <mml:mi
+ >c</mml:mi> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >p</mml:mi><mml:mspace width="2em" class="qquad"/><mml:mi
+ >p</mml:mi> <mml:mo
+ class="MathClass-rel">=</mml:mo> <mml:mi
+ >c</mml:mi> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:mn>1</mml:mn></mml:mtd><mml:mtd
+ class="eqnarray-4"> <mml:mtext class="eqnarray"></mml:mtext></mml:mtd> </mml:mtr></mml:mtable>
+ </mml:math>
+ <!--
<mediaobject>
<imageobject>
<imagedata fileref="img/gavl_eq1.gif" format="GIF"/>
</imageobject>
</mediaobject>
+ -->
</equation>When
<inlineequation>
<alt>$b\geq c$
</alt>
+ <mml:math display="inline" >
+ <mml:mi>b</mml:mi> <mml:mo class="MathClass-rel">≥</mml:mo> <mml:mi >c</mml:mi>
+ </mml:math>
+ <!--
<inlinemediaobject>
<imageobject>
<imagedata fileref="img/gavl_eq1.gif" format="GIF"/>
</imageobject>
</inlinemediaobject>
+ -->
</inlineequation> then the height differences
<inlineequation>
<alt>$\Delta s1$
</alt>
+ <mml:math display="inline" >
+ <mml:mi>Δ</mml:mi><mml:mi>s</mml:mi><mml:mn>1</mml:mn>
+ </mml:math>
+ <!--
<inlinemediaobject>
<imageobject>
<imagedata fileref="img/gavl_eq1.gif" format="GIF"/>
</imageobject>
</inlinemediaobject>
+ -->
</inlineequation>,
<inlineequation>
<alt>$\Delta n1$
</alt>
+ <mml:math display="inline" >
+ <mml:mi>Δ</mml:mi><mml:mi>n</mml:mi><mml:mn>1</mml:mn>
+ </mml:math>
+ <!--
<inlinemediaobject>
<imageobject>
<imagedata fileref="img/gavl_eq1.gif" format="GIF"/>
</imageobject>
</inlinemediaobject>
+ -->
</inlineequation> and
<inlineequation>
<alt>$\Delta p1$
</alt>
+ <mml:math display="inline" >
+ <mml:mi>Δ</mml:mi><mml:mi>p</mml:mi><mml:mn>1</mml:mn>
+ </mml:math>
+ <!--
<inlinemediaobject>
<imageobject>
<imagedata fileref="img/gavl_eq1.gif" format="GIF"/>
</imageobject>
</inlinemediaobject>
+ -->
</inlineequation> for nodes
<inlineequation>
<alt>$\textrm{S}$
</alt>
+ <mml:math display="inline" >
+ <mml:mstyle class="mbox"><mml:mtext class="textrm" mathvariant="normal" >S</mml:mtext></mml:mstyle>
+ </mml:math>
+ <!--
<inlinemediaobject>
<imageobject>
<imagedata fileref="img/gavl_eq1.gif" format="GIF"/>
</imageobject>
</inlinemediaobject>
+ -->
</inlineequation>,
<inlineequation>
<alt>$\textrm{N}$
</alt>
+ <mml:math display="inline" >
+ <mml:mstyle class="mbox"><mml:mtext class="textrm" mathvariant="normal" >N</mml:mtext></mml:mstyle>
+ </mml:math>
+ <!--
<inlinemediaobject>
<imageobject>
<imagedata fileref="img/gavl_eq1.gif" format="GIF"/>
</imageobject>
</inlinemediaobject>
+ -->
</inlineequation> and
<inlineequation>
<alt>$\textrm{P}$
</alt>
+ <mml:math display="inline" >
+ <mml:mstyle class="mbox"><mml:mtext class="textrm" mathvariant="normal" >S</mml:mtext></mml:mstyle>
+ </mml:math>
+ <!--
<inlinemediaobject>
<imageobject>
<imagedata fileref="img/gavl_eq1.gif" format="GIF"/>
</imageobject>
</inlinemediaobject>
+ -->
</inlineequation> of the balanced tree can be computed from next equations.
<equation>
<alt>\begin{eqnarray*}
\end{eqnarray*}
</alt>
+ <mml:math display="block" >
+ <mml:mtable
+ class="eqnarray-star" columnalign="right center left" >
+ <mml:mtr><mml:mtd
+ class="eqnarray-1"> <mml:mi
+ >b</mml:mi> <mml:mo
+ class="MathClass-rel">≥</mml:mo> <mml:mi
+ >c</mml:mi></mml:mtd><mml:mtd
+ class="eqnarray-2"> <mml:mo
+ class="MathClass-punc">,</mml:mo> </mml:mtd><mml:mtd
+ class="eqnarray-3"> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >p</mml:mi> <mml:mo
+ class="MathClass-rel">≥</mml:mo> <mml:mn>0</mml:mn> </mml:mtd><mml:mtd
+ class="eqnarray-4"> <mml:mtext class="eqnarray"></mml:mtext></mml:mtd>
+ </mml:mtr><mml:mtr><mml:mtd
+ class="eqnarray-1"> <mml:mi
+ >n</mml:mi><mml:mn>1</mml:mn></mml:mtd><mml:mtd
+ class="eqnarray-2"> <mml:mo
+ class="MathClass-rel">=</mml:mo></mml:mtd><mml:mtd
+ class="eqnarray-3"> <mml:mi
+ >b</mml:mi> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:mn>1</mml:mn> </mml:mtd><mml:mtd
+ class="eqnarray-4"> <mml:mtext class="eqnarray"></mml:mtext></mml:mtd>
+ </mml:mtr><mml:mtr><mml:mtd
+ class="eqnarray-1"> <mml:mi
+ >p</mml:mi><mml:mn>1</mml:mn></mml:mtd><mml:mtd
+ class="eqnarray-2"> <mml:mo
+ class="MathClass-rel">=</mml:mo></mml:mtd><mml:mtd
+ class="eqnarray-3"> <mml:mi
+ >b</mml:mi> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:mn>2</mml:mn> </mml:mtd><mml:mtd
+ class="eqnarray-4"> <mml:mtext class="eqnarray"></mml:mtext></mml:mtd>
+ </mml:mtr><mml:mtr><mml:mtd
+ class="eqnarray-1"> <mml:mi
+ >s</mml:mi><mml:mn>1</mml:mn></mml:mtd><mml:mtd
+ class="eqnarray-2"> <mml:mo
+ class="MathClass-rel">=</mml:mo></mml:mtd><mml:mtd
+ class="eqnarray-3"> <mml:mo
+ class="MathClass-op">max</mml:mo><mml:mrow ><mml:mo
+ class="MathClass-open">(</mml:mo><mml:mrow><mml:mi
+ >c</mml:mi><mml:mo
+ class="MathClass-punc">,</mml:mo><mml:mi
+ >d</mml:mi></mml:mrow><mml:mo
+ class="MathClass-close">)</mml:mo></mml:mrow> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:mn>1</mml:mn> <mml:mo
+ class="MathClass-rel">=</mml:mo><mml:mo
+ class="MathClass-op"> max</mml:mo><mml:mrow ><mml:mo
+ class="MathClass-open">(</mml:mo><mml:mrow><mml:mi
+ >b</mml:mi> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >p</mml:mi><mml:mo
+ class="MathClass-punc">,</mml:mo><mml:mi
+ >b</mml:mi> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:mn>2</mml:mn> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >s</mml:mi></mml:mrow><mml:mo
+ class="MathClass-close">)</mml:mo></mml:mrow> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:mn>1</mml:mn> </mml:mtd><mml:mtd
+ class="eqnarray-4"> <mml:mtext class="eqnarray"></mml:mtext></mml:mtd>
+ </mml:mtr><mml:mtr><mml:mtd
+ class="eqnarray-1"> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >s</mml:mi><mml:mn>1</mml:mn></mml:mtd><mml:mtd
+ class="eqnarray-2"> <mml:mo
+ class="MathClass-rel">=</mml:mo></mml:mtd><mml:mtd
+ class="eqnarray-3"> <mml:mi
+ >c</mml:mi> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mi
+ >d</mml:mi> <mml:mo
+ class="MathClass-rel">=</mml:mo> <mml:mi
+ >b</mml:mi> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >p</mml:mi> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mi
+ >b</mml:mi> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mn>2</mml:mn> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >s</mml:mi> </mml:mtd><mml:mtd
+ class="eqnarray-4"> <mml:mtext class="eqnarray"></mml:mtext></mml:mtd>
+ </mml:mtr><mml:mtr><mml:mtd
+ class="eqnarray-1"> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >s</mml:mi><mml:mn>1</mml:mn></mml:mtd><mml:mtd
+ class="eqnarray-2"> <mml:mo
+ class="MathClass-rel">=</mml:mo></mml:mtd><mml:mtd
+ class="eqnarray-3"> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >s</mml:mi> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mn>2</mml:mn> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >p</mml:mi> </mml:mtd><mml:mtd
+ class="eqnarray-4"> <mml:mtext class="eqnarray"></mml:mtext></mml:mtd>
+ </mml:mtr><mml:mtr><mml:mtd
+ class="eqnarray-1"> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >n</mml:mi><mml:mn>1</mml:mn></mml:mtd><mml:mtd
+ class="eqnarray-2"> <mml:mo
+ class="MathClass-rel">=</mml:mo></mml:mtd><mml:mtd
+ class="eqnarray-3"> <mml:mi
+ >a</mml:mi> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mi
+ >b</mml:mi> <mml:mo
+ class="MathClass-rel">=</mml:mo> <mml:mi
+ >b</mml:mi> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:mn>1</mml:mn> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >n</mml:mi> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mi
+ >b</mml:mi> </mml:mtd><mml:mtd
+ class="eqnarray-4"> <mml:mtext class="eqnarray"></mml:mtext></mml:mtd>
+ </mml:mtr><mml:mtr><mml:mtd
+ class="eqnarray-1"> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >n</mml:mi><mml:mn>1</mml:mn></mml:mtd><mml:mtd
+ class="eqnarray-2"> <mml:mo
+ class="MathClass-rel">=</mml:mo></mml:mtd><mml:mtd
+ class="eqnarray-3"> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >n</mml:mi> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:mn>1</mml:mn> </mml:mtd><mml:mtd
+ class="eqnarray-4"> <mml:mtext class="eqnarray"></mml:mtext></mml:mtd>
+ </mml:mtr><mml:mtr><mml:mtd
+ class="eqnarray-1"> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >p</mml:mi><mml:mn>1</mml:mn></mml:mtd><mml:mtd
+ class="eqnarray-2"> <mml:mo
+ class="MathClass-rel">=</mml:mo></mml:mtd><mml:mtd
+ class="eqnarray-3"> <mml:mi
+ >n</mml:mi><mml:mn>1</mml:mn> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mi
+ >s</mml:mi><mml:mn>1</mml:mn> <mml:mo
+ class="MathClass-rel">=</mml:mo> <mml:mi
+ >b</mml:mi> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:mn>1</mml:mn> <mml:mo
+ class="MathClass-bin">-</mml:mo><mml:mo
+ class="MathClass-op"> max</mml:mo><mml:mrow ><mml:mo
+ class="MathClass-open">(</mml:mo><mml:mrow><mml:mi
+ >b</mml:mi> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >p</mml:mi><mml:mo
+ class="MathClass-punc">,</mml:mo><mml:mi
+ >b</mml:mi> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:mn>2</mml:mn> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >s</mml:mi></mml:mrow><mml:mo
+ class="MathClass-close">)</mml:mo></mml:mrow> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mn>1</mml:mn></mml:mtd><mml:mtd
+ class="eqnarray-4"> <mml:mtext class="eqnarray"></mml:mtext></mml:mtd>
+ </mml:mtr><mml:mtr><mml:mtd
+ class="eqnarray-1"> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >p</mml:mi><mml:mn>1</mml:mn></mml:mtd><mml:mtd
+ class="eqnarray-2"> <mml:mo
+ class="MathClass-rel">=</mml:mo></mml:mtd><mml:mtd
+ class="eqnarray-3"> <mml:mo
+ class="MathClass-op">min</mml:mo><mml:mrow ><mml:mo
+ class="MathClass-open">(</mml:mo><mml:mrow><mml:mi
+ >Δ</mml:mi><mml:mi
+ >p</mml:mi><mml:mo
+ class="MathClass-punc">,</mml:mo> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >s</mml:mi> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mn>2</mml:mn></mml:mrow><mml:mo
+ class="MathClass-close">)</mml:mo></mml:mrow><mml:mspace width="2em" class="qquad"/><mml:mi
+ >Δ</mml:mi><mml:mi
+ >p</mml:mi> <mml:mo
+ class="MathClass-rel">≥</mml:mo> <mml:mn>0</mml:mn><mml:mo
+ class="MathClass-punc">,</mml:mo> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >s</mml:mi> <mml:mo
+ class="MathClass-rel">≥</mml:mo> <mml:mn>2</mml:mn> </mml:mtd><mml:mtd
+ class="eqnarray-4"> <mml:mtext class="eqnarray"></mml:mtext></mml:mtd> </mml:mtr></mml:mtable>
+ </mml:math>
+ <!--
<mediaobject>
<imageobject>
<imagedata fileref="img/gavl_eq1.gif" format="GIF"/>
</imageobject>
</mediaobject>
+ -->
</equation>When
<inlineequation>
<alt>$c\geq b$
</alt>
+ <mml:math display="inline" >
+ <mml:mi>c</mml:mi> <mml:mo class="MathClass-rel">≥</mml:mo> <mml:mi>b</mml:mi>
+ </mml:math>
+ <!--
<inlinemediaobject>
<imageobject>
<imagedata fileref="img/gavl_eq1.gif" format="GIF"/>
</imageobject>
</inlinemediaobject>
+ -->
</inlineequation> then the height differences
<inlineequation>
<alt>$\Delta s1$
</alt>
+ <mml:math display="inline" >
+ <mml:mi>Δ</mml:mi><mml:mi>s</mml:mi><mml:mn>1</mml:mn>
+ </mml:math>
+ <!--
<inlinemediaobject>
<imageobject>
<imagedata fileref="img/gavl_eq1.gif" format="GIF"/>
</imageobject>
</inlinemediaobject>
+ -->
</inlineequation>,
<inlineequation>
<alt>$\Delta n1$
</alt>
+ <mml:math display="inline" >
+ <mml:mi>Δ</mml:mi><mml:mi>n</mml:mi><mml:mn>1</mml:mn>
+ </mml:math>
+ <!--
<inlinemediaobject>
<imageobject>
<imagedata fileref="img/gavl_eq1.gif" format="GIF"/>
</imageobject>
</inlinemediaobject>
+ -->
</inlineequation> and
<inlineequation>
<alt>$\Delta p1$
</alt>
+ <mml:math display="inline" >
+ <mml:mi>Δ</mml:mi><mml:mi>p</mml:mi><mml:mn>1</mml:mn>
+ </mml:math>
+ <!--
<inlinemediaobject>
<imageobject>
<imagedata fileref="img/gavl_eq1.gif" format="GIF"/>
</imageobject>
</inlinemediaobject>
+ -->
</inlineequation> for nodes
<inlineequation>
<alt>$\textrm{S}$
</alt>
+ <mml:math display="inline" >
+ <mml:mstyle class="mbox"><mml:mtext class="textrm" mathvariant="normal" >S</mml:mtext></mml:mstyle>
+ </mml:math>
+ <!--
<inlinemediaobject>
<imageobject>
<imagedata fileref="img/gavl_eq1.gif" format="GIF"/>
</imageobject>
</inlinemediaobject>
+ -->
</inlineequation>,
<inlineequation>
<alt>$\textrm{N}$
</alt>
+ <mml:math display="inline" >
+ <mml:mstyle class="mbox"><mml:mtext class="textrm" mathvariant="normal" >N</mml:mtext></mml:mstyle>
+ </mml:math>
+ <!--
<inlinemediaobject>
<imageobject>
<imagedata fileref="img/gavl_eq1.gif" format="GIF"/>
</imageobject>
</inlinemediaobject>
+ -->
</inlineequation> and
<inlineequation>
<alt>$\textrm{P}$
</alt>
+ <mml:math display="inline" >
+ <mml:mstyle class="mbox"><mml:mtext class="textrm" mathvariant="normal" >P</mml:mtext></mml:mstyle>
+ </mml:math>
+ <!--
<inlinemediaobject>
<imageobject>
<imagedata fileref="img/gavl_eq1.gif" format="GIF"/>
</imageobject>
</inlinemediaobject>
+ -->
</inlineequation> of the balanced tree can be computed from next equations.
<equation>
<alt>\begin{eqnarray*}
\end{eqnarray*}
</alt>
+ <mml:math display="block" >
+ <mml:mtable
+ class="eqnarray-star" columnalign="right center left" >
+ <mml:mtr><mml:mtd
+ class="eqnarray-1"> <mml:mi
+ >c</mml:mi> <mml:mo
+ class="MathClass-rel">≥</mml:mo> <mml:mi
+ >b</mml:mi></mml:mtd><mml:mtd
+ class="eqnarray-2"> <mml:mo
+ class="MathClass-punc">,</mml:mo> </mml:mtd><mml:mtd
+ class="eqnarray-3"> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >p</mml:mi> <mml:mo
+ class="MathClass-rel">≤</mml:mo> <mml:mn>0</mml:mn> </mml:mtd><mml:mtd
+ class="eqnarray-4"> <mml:mtext class="eqnarray"></mml:mtext></mml:mtd>
+ </mml:mtr><mml:mtr><mml:mtd
+ class="eqnarray-1"> <mml:mi
+ >s</mml:mi><mml:mn>1</mml:mn></mml:mtd><mml:mtd
+ class="eqnarray-2"> <mml:mo
+ class="MathClass-rel">=</mml:mo></mml:mtd><mml:mtd
+ class="eqnarray-3"> <mml:mi
+ >c</mml:mi> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:mn>1</mml:mn> </mml:mtd><mml:mtd
+ class="eqnarray-4"> <mml:mtext class="eqnarray"></mml:mtext></mml:mtd>
+ </mml:mtr><mml:mtr><mml:mtd
+ class="eqnarray-1"> <mml:mi
+ >p</mml:mi><mml:mn>1</mml:mn></mml:mtd><mml:mtd
+ class="eqnarray-2"> <mml:mo
+ class="MathClass-rel">=</mml:mo></mml:mtd><mml:mtd
+ class="eqnarray-3"> <mml:mi
+ >c</mml:mi> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:mn>2</mml:mn> </mml:mtd><mml:mtd
+ class="eqnarray-4"> <mml:mtext class="eqnarray"></mml:mtext></mml:mtd>
+ </mml:mtr><mml:mtr><mml:mtd
+ class="eqnarray-1"> <mml:mi
+ >n</mml:mi><mml:mn>1</mml:mn></mml:mtd><mml:mtd
+ class="eqnarray-2"> <mml:mo
+ class="MathClass-rel">=</mml:mo></mml:mtd><mml:mtd
+ class="eqnarray-3"> <mml:mo
+ class="MathClass-op">max</mml:mo><mml:mrow ><mml:mo
+ class="MathClass-open">(</mml:mo><mml:mrow><mml:mi
+ >a</mml:mi><mml:mo
+ class="MathClass-punc">,</mml:mo><mml:mi
+ >b</mml:mi></mml:mrow><mml:mo
+ class="MathClass-close">)</mml:mo></mml:mrow> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:mn>1</mml:mn> <mml:mo
+ class="MathClass-rel">=</mml:mo><mml:mo
+ class="MathClass-op"> max</mml:mo><mml:mrow ><mml:mo
+ class="MathClass-open">(</mml:mo><mml:mrow><mml:mi
+ >c</mml:mi> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:mn>1</mml:mn> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >n</mml:mi><mml:mo
+ class="MathClass-punc">,</mml:mo><mml:mi
+ >c</mml:mi> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >p</mml:mi></mml:mrow><mml:mo
+ class="MathClass-close">)</mml:mo></mml:mrow> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:mn>1</mml:mn> </mml:mtd><mml:mtd
+ class="eqnarray-4"> <mml:mtext class="eqnarray"></mml:mtext></mml:mtd>
+ </mml:mtr><mml:mtr><mml:mtd
+ class="eqnarray-1"> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >s</mml:mi><mml:mn>1</mml:mn></mml:mtd><mml:mtd
+ class="eqnarray-2"> <mml:mo
+ class="MathClass-rel">=</mml:mo></mml:mtd><mml:mtd
+ class="eqnarray-3"> <mml:mi
+ >c</mml:mi> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mi
+ >d</mml:mi> <mml:mo
+ class="MathClass-rel">=</mml:mo> <mml:mi
+ >c</mml:mi> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mi
+ >c</mml:mi> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mn>2</mml:mn> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >s</mml:mi> </mml:mtd><mml:mtd
+ class="eqnarray-4"> <mml:mtext class="eqnarray"></mml:mtext></mml:mtd>
+ </mml:mtr><mml:mtr><mml:mtd
+ class="eqnarray-1"> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >s</mml:mi><mml:mn>1</mml:mn></mml:mtd><mml:mtd
+ class="eqnarray-2"> <mml:mo
+ class="MathClass-rel">=</mml:mo></mml:mtd><mml:mtd
+ class="eqnarray-3"> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >s</mml:mi> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mn>2</mml:mn> </mml:mtd><mml:mtd
+ class="eqnarray-4"> <mml:mtext class="eqnarray"></mml:mtext></mml:mtd>
+ </mml:mtr><mml:mtr><mml:mtd
+ class="eqnarray-1"> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >n</mml:mi><mml:mn>1</mml:mn></mml:mtd><mml:mtd
+ class="eqnarray-2"> <mml:mo
+ class="MathClass-rel">=</mml:mo></mml:mtd><mml:mtd
+ class="eqnarray-3"> <mml:mi
+ >a</mml:mi> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mi
+ >b</mml:mi> <mml:mo
+ class="MathClass-rel">=</mml:mo> <mml:mi
+ >c</mml:mi> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:mn>1</mml:mn> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >n</mml:mi> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mi
+ >c</mml:mi> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >p</mml:mi> </mml:mtd><mml:mtd
+ class="eqnarray-4"> <mml:mtext class="eqnarray"></mml:mtext></mml:mtd>
+ </mml:mtr><mml:mtr><mml:mtd
+ class="eqnarray-1"> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >n</mml:mi><mml:mn>1</mml:mn></mml:mtd><mml:mtd
+ class="eqnarray-2"> <mml:mo
+ class="MathClass-rel">=</mml:mo></mml:mtd><mml:mtd
+ class="eqnarray-3"> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >n</mml:mi> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:mn>1</mml:mn> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >p</mml:mi> </mml:mtd><mml:mtd
+ class="eqnarray-4"> <mml:mtext class="eqnarray"></mml:mtext></mml:mtd>
+ </mml:mtr><mml:mtr><mml:mtd
+ class="eqnarray-1"> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >p</mml:mi><mml:mn>1</mml:mn></mml:mtd><mml:mtd
+ class="eqnarray-2"> <mml:mo
+ class="MathClass-rel">=</mml:mo></mml:mtd><mml:mtd
+ class="eqnarray-3"> <mml:mi
+ >n</mml:mi><mml:mn>1</mml:mn> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mi
+ >s</mml:mi><mml:mn>1</mml:mn> <mml:mo
+ class="MathClass-rel">=</mml:mo><mml:mo
+ class="MathClass-op"> max</mml:mo><mml:mrow ><mml:mo
+ class="MathClass-open">(</mml:mo><mml:mrow><mml:mi
+ >c</mml:mi> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:mn>1</mml:mn> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >n</mml:mi><mml:mo
+ class="MathClass-punc">,</mml:mo><mml:mi
+ >c</mml:mi> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >p</mml:mi></mml:mrow><mml:mo
+ class="MathClass-close">)</mml:mo></mml:mrow> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:mn>1</mml:mn> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mi
+ >c</mml:mi> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mn>1</mml:mn></mml:mtd><mml:mtd
+ class="eqnarray-4"> <mml:mtext class="eqnarray"></mml:mtext></mml:mtd>
+ </mml:mtr><mml:mtr><mml:mtd
+ class="eqnarray-1"> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >p</mml:mi><mml:mn>1</mml:mn></mml:mtd><mml:mtd
+ class="eqnarray-2"> <mml:mo
+ class="MathClass-rel">=</mml:mo></mml:mtd><mml:mtd
+ class="eqnarray-3"> <mml:mo
+ class="MathClass-op">max</mml:mo><mml:mrow ><mml:mo
+ class="MathClass-open">(</mml:mo><mml:mrow><mml:mi
+ >Δ</mml:mi><mml:mi
+ >n</mml:mi><mml:mo
+ class="MathClass-punc">,</mml:mo> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >s</mml:mi> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mn>1</mml:mn></mml:mrow><mml:mo
+ class="MathClass-close">)</mml:mo></mml:mrow><mml:mspace width="2em" class="qquad"/><mml:mi
+ >Δ</mml:mi><mml:mi
+ >n</mml:mi> <mml:mo
+ class="MathClass-rel">≤</mml:mo><mml:mo
+ class="MathClass-bin">-</mml:mo><mml:mn>1</mml:mn><mml:mo
+ class="MathClass-punc">,</mml:mo> <mml:mi
+ >Δ</mml:mi><mml:mi
+ >p</mml:mi> <mml:mo
+ class="MathClass-rel">≤</mml:mo> <mml:mn>0</mml:mn> </mml:mtd><mml:mtd
+ class="eqnarray-4"> <mml:mtext class="eqnarray"></mml:mtext></mml:mtd> </mml:mtr></mml:mtable>
+ </mml:math>
+ <!--
<mediaobject>
<imageobject>
<imagedata fileref="img/gavl_eq1.gif" format="GIF"/>
</imageobject>
</mediaobject>
+ -->
</equation></para></sect2>
</sect1>
<sect1><title>Height of the AVL Tree</title><para>Minimal number of nodes
<inlineequation>
<alt>$T$
</alt>
+ <mml:math display="inline" ><mml:mi>T</mml:mi></mml:math>
+ <!--
<inlinemediaobject>
<imageobject>
<imagedata fileref="img/gavl_eq1.gif" format="GIF"/>
</imageobject>
</inlinemediaobject>
+ -->
</inlineequation> can be computed recursively.
<equation>
<alt>\[
T(h)=T(h-1)+T(h-2)+1,\, T(0)=0,\, T(1)=1\]
</alt>
+ <mml:math display="block" ><mml:mrow>
+ <mml:mi>T</mml:mi><mml:mrow ><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi
+ >h</mml:mi></mml:mrow><mml:mo
+ class="MathClass-close">)</mml:mo></mml:mrow> <mml:mo
+ class="MathClass-rel">=</mml:mo> <mml:mi
+ >T</mml:mi><mml:mrow ><mml:mo
+ class="MathClass-open">(</mml:mo><mml:mrow><mml:mi
+ >h</mml:mi> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mn>1</mml:mn></mml:mrow><mml:mo
+ class="MathClass-close">)</mml:mo></mml:mrow> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:mi
+ >T</mml:mi><mml:mrow ><mml:mo
+ class="MathClass-open">(</mml:mo><mml:mrow><mml:mi
+ >h</mml:mi> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mn>2</mml:mn></mml:mrow><mml:mo
+ class="MathClass-close">)</mml:mo></mml:mrow> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:mn>1</mml:mn><mml:mo
+ class="MathClass-punc">,</mml:mo><mml:mspace width="0em" class="thinspace"/><mml:mi
+ >T</mml:mi><mml:mrow ><mml:mo
+ class="MathClass-open">(</mml:mo><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mo
+ class="MathClass-close">)</mml:mo></mml:mrow> <mml:mo
+ class="MathClass-rel">=</mml:mo> <mml:mn>0</mml:mn><mml:mo
+ class="MathClass-punc">,</mml:mo><mml:mspace width="0em" class="thinspace"/><mml:mi
+ >T</mml:mi><mml:mrow ><mml:mo
+ class="MathClass-open">(</mml:mo><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mo
+ class="MathClass-close">)</mml:mo></mml:mrow> <mml:mo
+ class="MathClass-rel">=</mml:mo> <mml:mn>1</mml:mn>
+ </mml:mrow></mml:math>
+ <!--
<mediaobject>
<imageobject>
<imagedata fileref="img/gavl_eq1.gif" format="GIF"/>
</imageobject>
</mediaobject>
+ -->
</equation>1, 2, 4, 7, 12, 20, 33, 54, 88, 143, 232, 376, 609, 986</para><para>
<equation>
<alt>\[
T(h)=\frac{1}{\sqrt{5}}\left(\frac{1+\sqrt{5}}{2}\right)^{(h+2)}-1\]
</alt>
+ <mml:math display="block" ><mml:mrow>
+ <mml:mi>T</mml:mi><mml:mrow ><mml:mo
+ class="MathClass-open">(</mml:mo><mml:mrow><mml:mi
+ >h</mml:mi></mml:mrow><mml:mo
+ class="MathClass-close">)</mml:mo></mml:mrow> <mml:mo
+ class="MathClass-rel">=</mml:mo> <mml:mfrac><mml:mrow
+ ><mml:mn>1</mml:mn></mml:mrow>
+ <mml:mrow
+ ><mml:msqrt><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msqrt></mml:mrow></mml:mfrac><mml:msup><mml:mrow
+ > <mml:mfenced separators=""
+ open="(" close=")" ><mml:mrow><mml:mfrac><mml:mrow
+ ><mml:mn>1</mml:mn> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:msqrt><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msqrt></mml:mrow>
+ <mml:mrow
+ ><mml:mn>2</mml:mn></mml:mrow></mml:mfrac> </mml:mrow></mml:mfenced> </mml:mrow><mml:mrow
+ ><mml:mrow ><mml:mo
+ class="MathClass-open">(</mml:mo><mml:mrow><mml:mi
+ >h</mml:mi><mml:mo
+ class="MathClass-bin">+</mml:mo><mml:mn>2</mml:mn></mml:mrow><mml:mo
+ class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msup
+ > <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mn>1</mml:mn>
+ </mml:mrow></mml:math>
+ <!--
<mediaobject>
<imageobject>
<imagedata fileref="img/gavl_eq1.gif" format="GIF"/>
</imageobject>
</mediaobject>
+ -->
</equation>
<equation>
<alt>\[
T(h)=\frac{1}{\sqrt{5}}\, 2^{(h+2)\, log_{2}\left(\frac{1+\sqrt{5}}{2}\right)}-1\]
</alt>
+ <mml:math display="block" ><mml:mrow>
+ <mml:mi>T</mml:mi><mml:mrow ><mml:mo
+ class="MathClass-open">(</mml:mo><mml:mrow><mml:mi
+ >h</mml:mi></mml:mrow><mml:mo
+ class="MathClass-close">)</mml:mo></mml:mrow> <mml:mo
+ class="MathClass-rel">=</mml:mo> <mml:mfrac><mml:mrow
+ ><mml:mn>1</mml:mn></mml:mrow>
+ <mml:mrow
+ ><mml:msqrt><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msqrt></mml:mrow></mml:mfrac><mml:mspace width="0em" class="thinspace"/><mml:msup><mml:mrow
+ ><mml:mn>2</mml:mn></mml:mrow><mml:mrow
+ ><mml:mrow ><mml:mo
+ class="MathClass-open">(</mml:mo><mml:mrow><mml:mi
+ >h</mml:mi><mml:mo
+ class="MathClass-bin">+</mml:mo><mml:mn>2</mml:mn></mml:mrow><mml:mo
+ class="MathClass-close">)</mml:mo></mml:mrow><mml:mspace width="0em" class="thinspace"/><mml:mi
+ >l</mml:mi><mml:mi
+ >o</mml:mi><mml:msub><mml:mrow
+ ><mml:mi
+ >g</mml:mi></mml:mrow><mml:mrow
+ ><mml:mn>2</mml:mn></mml:mrow></mml:msub
+ ><mml:mfenced separators=""
+ open="(" close=")" ><mml:mrow><mml:mfrac><mml:mrow
+ ><mml:mn>1</mml:mn><mml:mo
+ class="MathClass-bin">+</mml:mo><mml:msqrt><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msqrt></mml:mrow>
+ <mml:mrow
+ ><mml:mn>2</mml:mn></mml:mrow></mml:mfrac> </mml:mrow></mml:mfenced>
+ </mml:mrow></mml:msup
+ > <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mn>1</mml:mn>
+ </mml:mrow></mml:math>
+ <!--
<mediaobject>
<imageobject>
<imagedata fileref="img/gavl_eq1.gif" format="GIF"/>
</imageobject>
</mediaobject>
+ -->
</equation>
<equation>
<alt>\[
h=\left(log_{2}(T+1)-log_{2}\left(\frac{1}{\sqrt{5}}\right)\right)log_{2}^{-1}\left(\frac{1+\sqrt{5}}{2}\right)-2\]
</alt>
+ <mml:math display="block" ><mml:mrow>
+ <mml:mi>h</mml:mi> <mml:mo
+ class="MathClass-rel">=</mml:mo> <mml:mfenced separators=""
+ open="(" close=")" ><mml:mrow><mml:mi
+ >l</mml:mi><mml:mi
+ >o</mml:mi><mml:msub><mml:mrow
+ ><mml:mi
+ >g</mml:mi></mml:mrow><mml:mrow
+ ><mml:mn>2</mml:mn></mml:mrow></mml:msub
+ ><mml:mrow ><mml:mo
+ class="MathClass-open">(</mml:mo><mml:mrow><mml:mi
+ >T</mml:mi> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:mn>1</mml:mn></mml:mrow><mml:mo
+ class="MathClass-close">)</mml:mo></mml:mrow> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mi
+ >l</mml:mi><mml:mi
+ >o</mml:mi><mml:msub><mml:mrow
+ ><mml:mi
+ >g</mml:mi></mml:mrow><mml:mrow
+ ><mml:mn>2</mml:mn></mml:mrow></mml:msub
+ > <mml:mfenced separators=""
+ open="(" close=")" ><mml:mrow> <mml:mfrac><mml:mrow
+ ><mml:mn>1</mml:mn></mml:mrow>
+ <mml:mrow
+ ><mml:msqrt><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msqrt></mml:mrow></mml:mfrac></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced> <mml:mi
+ >l</mml:mi><mml:mi
+ >o</mml:mi><mml:msubsup><mml:mrow
+ ><mml:mi
+ >g</mml:mi></mml:mrow><mml:mrow
+ ><mml:mn>2</mml:mn></mml:mrow><mml:mrow
+ ><mml:mo
+ class="MathClass-bin">-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup
+ > <mml:mfenced separators=""
+ open="(" close=")" ><mml:mrow><mml:mfrac><mml:mrow
+ ><mml:mn>1</mml:mn> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:msqrt><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msqrt></mml:mrow>
+ <mml:mrow
+ ><mml:mn>2</mml:mn></mml:mrow></mml:mfrac> </mml:mrow></mml:mfenced> <mml:mo
+ class="MathClass-bin">-</mml:mo> <mml:mn>2</mml:mn>
+ </mml:mrow></mml:math>
+ <!--
<mediaobject>
<imageobject>
<imagedata fileref="img/gavl_eq1.gif" format="GIF"/>
</imageobject>
</mediaobject>
+ -->
</equation>
<equation>
<alt>\[
log_{2}^{-1}\left(\frac{1+\sqrt{5}}{2}\right)=1.44042\]
</alt>
+ <mml:math display="block" ><mml:mrow>
+ <mml:mi
+ >l</mml:mi><mml:mi
+ >o</mml:mi><mml:msubsup><mml:mrow
+ ><mml:mi
+ >g</mml:mi></mml:mrow><mml:mrow
+ ><mml:mn>2</mml:mn></mml:mrow><mml:mrow
+ ><mml:mo
+ class="MathClass-bin">-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup
+ > <mml:mfenced separators=""
+ open="(" close=")" ><mml:mrow><mml:mfrac><mml:mrow
+ ><mml:mn>1</mml:mn> <mml:mo
+ class="MathClass-bin">+</mml:mo> <mml:msqrt><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msqrt></mml:mrow>
+ <mml:mrow
+ ><mml:mn>2</mml:mn></mml:mrow></mml:mfrac> </mml:mrow></mml:mfenced> <mml:mo
+ class="MathClass-rel">=</mml:mo> <mml:mn>1</mml:mn><mml:mo
+ class="MathClass-punc">.</mml:mo><mml:mn>4</mml:mn><mml:mn>4</mml:mn><mml:mn>0</mml:mn><mml:mn>4</mml:mn><mml:mn>2</mml:mn>
+ </mml:mrow></mml:math>
+ <!--
<mediaobject>
<imageobject>
<imagedata fileref="img/gavl_eq1.gif" format="GIF"/>
</imageobject>
</mediaobject>
+ -->
</equation></para><para>An AVL tree with n nodes has height between log2 (n + 1) and 1.44 * log2 (n + 2) - 0.328. An AVL tree with height h has between pow (2, (h + .328) / 1.44) - 1 and pow (2, h) - 1 nodes.</para><para>A red-black tree with n nodes has height at least log2 (n + 1) but no more than 2 * log2 (n + 1). A red-black tree with height h has at least pow (2, h / 2) - 1 nodes but no more than pow (2, h) - 1. </para>
<!-- ***************************************************** -->