SE250:lab-7:sbas046
Inserting A-G in a perfect balancing order.
> i d
d (*)
> i b
  b
d (*)
> i a
    a
  b
d (*)
> i c
    a
  b
    c
d (*)
> i f
    a
  b
    c
d (*)
  f
> i e
    a
  b
    c
d (*)
    e
  f
>  i g
    a
  b
    c
d (*)
    e
  f
    g
You would always get a perfectly balanced tree if you entered the median of the range of numbers then the median of the range of numbers lower then the first number and so on.
Right Skew -> Left Skew
> skew
a (*)
  b
    c
      d
        e
          f
            g
> r l
  a (*)
b
  c
    d
      e
        f
          g
> print
Tree[*a*,b,c,d,e,f,g]
>
> print
Tree[*a*,b,c,d,e,f,g]
> skew
a (*)
  b
    c
      d
        e
          f
            g
> rl
  a (*)
b
  c
    d
      e
        f
          g
> parent
  a
b (*)
  c
    d
      e
        f
          g
> rl
    a
  b (*)
c
  d
    e
      f
        g
> parent
    a
  b
c (*)
  d
    e
      f
        g
> rl
      a
    b
  c (*)
d
  e
    f
      g
> parent
      a
    b
  c
d (*)
  e
    f
      g
> rl
        a
      b
    c
  d (*)
e
  f
    g
> parent
        a
      b
    c
  d
e (*)
  f
    g
> rl
          a
        b
      c
    d
  e (*)
f
  g
> parent
          a
        b
      c
    d
  e
f (*)
  g
> rl
            a
          b
        c
      d
    e
  f (*)
g
>
Right Skew -> Balance
> skew
a (*)
  b
    c
      d
        e
          f
            g
> rl
  a (*)
b
  c
    d
      e
        f
          g
> p
  a
b (*)
  c
    d
      e
        f
          g
> rl
    a
  b (*)
c
  d
    e
      f
        g
> p
    a
  b
c (*)
  d
    e
      f
        g
> rl
      a
    b
  c (*)
d
  e
    f
      g
> rr
    a
  b
    c (*)
d
  e
    f
      g
> p
    a
  b
    c
d (*)
  e
    f
      g
> r
    a
  b
    c
d
  e (*)
    f
      g
> rl
    a
  b
    c
d
    e (*)
  f
    g
>
Add elements and Balance
> i 1
1 (*)
> i 2
1 (*)
  2
> i 3
1 (*)
  2
    3
> i 4
1 (*)
  2
    3
      4
> i 5
1 (*)
  2
    3
      4
        5
> i 6
1 (*)
  2
    3
      4
        5
          6
> i 7
1 (*)
  2
    3
      4
        5
          6
            7
> balance
    1
  2
    3
4 (*)
    5
  6
    7
> i 8
    1
  2
    3
4 (*)
    5
  6
    7
      8
> i 9
    1
  2
    3
4 (*)
    5
  6
    7
      8
        9
> r
    1
  2
    3
4
    5
  6 (*)
    7
      8
        9
> r
    1
  2
    3
4
    5
  6
    7 (*)
      8
        9
> rr
    1
  2
    3
4
    5
  6
    7 (*)
      8
        9
> rl
    1
  2
    3
4
    5
  6
      7 (*)
    8
      9
>