資料結構 二進位制與十進位制轉換與二叉樹關係

2021-05-10 03:09:15 字數 497 閱讀 4712

演算法描述:假設二叉樹中的左分支的標號為0,右分支的標號為1,並對二叉樹增設乙個頭結點

,令根節點為其右孩子,則從頭結點到樹中任意節點所經分支的序列為乙個二進位制序列,可認

作是某個十進位制數的二進位制表示.已知一棵非空二叉樹以順序儲存結構表示,試寫一盡可能

簡單的演算法,求出與在樹的順序儲存結構中下標值為i的結點對應的十進位制整數 

實際上就是乙個圈套.因為下標值i就是結點對應的十進位制整數 

/(1) 

(0)/ /(1)

2     3

(0)/ /    //(1)

4    5 6  7

如示意圖所示,其實利用的就是層次與二進位制的關係.也就是說,向下一層,則必定多一位

1或者0,相應的增加的就是二進位制的一位,也就是相當於將原來的數進行x2(二進位制特點).

而根據父母結點與孩子結點的關係,可以知道也是符合這種特性的.所以,樹的順序儲存結構

中下標值i就是走過路徑組成的二進位制序列代表的十進位制數 

十進位制二進位制轉換

一 整形裝換成兩個位元組 int value 456 unsigned char byte1 value 0xff00 8 高8位 unsigned char byte2 value 0xff 低8位 nslog byte1 x byte2 x byte1,byte2 byte1 1 byte2 c...

十進位制二進位制轉換

1.十進位制轉二進位制 正整數轉二進位制 除二取餘,然後倒序排列,高位補零 負整數轉二進位制 先是將對應的正整數轉換成二進位制後,對二進位製取反,然後對結果再加一。小數轉換二進位制 對小數點以後的數乘以2,取結果的整數部分 不是1就是0嘍 然後再用小數部分再乘以2,再取結果的整數部分 以此類推,直到...

十進位制二進位制轉換

二進位制轉十進位制 二進位制的1101轉化成十進位制 1101 2 1 2o 0 21 1 22 1 23 1 0 4 8 13 轉化成十進位制要從右到左用二進位制的每個數去乘以2的相應次方 不過次方要從0開始 相反 用十進位制的數除以2 每除一下將餘數就記在旁邊 最後按餘數從下向上排列就可得到11...