樹和森林的相互轉化

2021-07-28 18:39:30 字數 612 閱讀 6863

1、樹轉換為二叉樹

由於二叉樹是有序的,為了避免混淆,對於無序樹,我們約定樹中的每個結點的孩子結點按從左到右的順序進行編號。

將樹轉換成二叉樹的步驟是:

(1)加線。就是在所有兄弟結點之間加一條連線;

(2)抹線。就是對樹中的每個結點,只保留他與第乙個孩子結點之間的連線,刪除它與其它孩子結點之間的連線;

(3)旋轉。就是以樹的根結點為軸心,將整棵樹順時針旋轉一定角度,使之結構層次分明。

2、森林轉換為二叉樹

森林是由若干棵樹組成,可以將森林中的每棵樹的根結點看作是兄弟,由於每棵樹都可以轉換為二叉樹,所以森林也可以轉換為二叉樹。

將森林轉換為二叉樹的步驟是:

(1)先把每棵樹轉換為二叉樹;

(2)第一棵二叉樹不動,從第二棵二叉樹開始,依次把後一棵二叉樹的根結點作為前一棵二叉樹的根結點的右孩子結點,用線連線起來。當所有的二叉樹連線起來後得到的二叉樹就是由森林轉換得到的二叉樹。

型別相互轉化

1.short int exp short shortvar 0 int intvar 0 shortvar short intvar 2.int short exp short shortvar 0 int intvar 0 intvar shortvar 3.int string exp int...

進製的相互轉化

我們常用的進製包括 二進位制 八進位制 十進位制與十六進製制,它們之間區別在於數運算時是逢幾進一位。十進位制轉二進位制 方法為 十進位制數除2取餘法,即十進位制數除2,餘數為權位上的數,得到的商值繼續除2,依此步驟繼續向下運算直到商為0為止。二進位制轉十進位制 方法為 把二進位制數按權展開 相加即得...

IntPtr和string的相互轉化

marsha有三個方法將string轉為intptr copies the contents of a managed string into unmanaged memory,converting into ansi format if required.public static intptr ...