2013-08-29 66 views
0

最近,我正在學習左傾紅黑樹。而我紅色this幫助我學習。但是,我不能得到的代碼的含義在刪除操作,它們是:紅黑樹的刪除操作

if (isRed(h.left))h = rotateRight(h); 

我只是找不到一個很好的例子,以幫助我得到這個代碼的用法。

任何人都可以幫助給我爲什麼代碼應該在那裏的原因(有一個小例子好得多)?

+1

如果'h.left'是紅色的,然後旋轉'h'權,並分配給'h' ? –

回答

0

PDF的第7頁包含完整功能。基本上它是在做什麼,如果該行是「紅色」(意思是它被強制樹是一個LLRBT),然後旋轉左邊的子節點。

A 
/\ 
    B C 

如果我刪除,我會以它的位置旋轉B:

B 
    \ 
     C