java - 伸展树的展开的理解
黄舟
黄舟 2017-04-18 09:51:27
0
2
393

java实现伸展树

中的splay(Comparable key)方法,第198行:

l.right = t;           /* link left */
l = t;
t = t.right;

不能理解l=t;前面的l.right = t不就是被覆盖掉了吗?

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

membalas semua(2)
左手右手慢动作

Ini hanyalah dua rujukan l dan t yang bergerak:

  1. Andaikan bahawa l pada asalnya menunjuk ke nod a, dan nod kiri dan nod kanan a ialah a1 dan a2 masing-masing. t pada asalnya menunjuk ke nod b, dan nod kiri dan nod kanan b masing-masing ialah b1 dan b2

  2. l.right = t, l menunjuk ke a, operasi ini bermakna nod kanan a menjadi b, l masih menunjuk ke a, t masih menunjuk ke b

  3. l = t, l ditukar kepada titik kepada b, t kekal tidak berubah dan mata kepada b

  4. t = t.right, t pada asalnya menunjuk kepada b, kemudian kini ia menghala ke nod kanan b, iaitu, b2

Selepas pas ini, nod kiri a tidak berubah dan masih a1, nod kanan telah menjadi b, dan a2 telah diputuskan sambungan daripada a. Ia bersamaan dengan memindahkan pokok kecil pelajaran b ke kanan a.
Pada masa yang sama, arah l dan t ditukar, l menunjuk ke b, dan t menunjuk ke b2

左手右手慢动作


l = t;
dianggap sebagai:
l = l.kanan;
Pergerakan penuding memudahkan satu lelaran.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan