曼切斯特編碼和差分曼切斯特編碼

2021-10-08 18:28:29 字數 1165 閱讀 8823

每一位由兩個高低位來表示,標準曼切斯特編碼中由高到低表示1,低到高表示0 即標準曼切斯特編碼中的10表示1,01表示0

例如1011001的圖可以這麼畫

編碼的程式可以這麼寫:

def

manchester0

(str):

flag=

''for i in

range(0

,len

(str),

2): flag+=

str[i]

return flag

#輸入的字串是二進位制資料串。

還有一種類似的曼切斯特編碼叫802.3曼切斯特編碼,其實就是相反的01為1,10為0

def

manchester1

(str):

flag=

''for i in

range(0

,len

(str),

2): flag+=

str[i+1]

return flag

#輸入的字串是二進位制資料串。

差分曼切斯特和曼切斯特不同的是,它的編碼的資料體現在前後波形的變化當中,前後兩個波形的連線處的高低位發生變化那麼就是0,如果未發生變化則是1.例如1011001可以用如下的波形圖表示。

程式如下:

def

manchester2

(s):

flag=

''for i in

range(1

,len

(s)-1,

2): x =

eval

(s[i])^

eval

(s[i +1]

)^1 flag +=

str(x)

return flag

#輸入的字串是二進位制資料串。

哈夫曼編碼問題(切金條)

一塊金條切成兩半,是需要花費和長度數值一樣的銅板的。比如長度位20的金條,不管切成長度多大的兩半,都要花費20個銅板。一群人想分整塊金條,怎麼分最省銅板?例如,給定陣列,代表一共三個人,整塊金條長度位10 20 30 60。金條要分成10,20,30三個部分。如果,先把長度60的金條分成10和50,...

哈夫曼樹和哈夫曼編碼

1.帶權最短路徑wpl 2.哈夫曼樹是wpl最小的樹,但樹不一定唯一。左右子樹交換,大於二的同權重的樹的任意組合都會影響其唯一性。3.n個葉子節點的總節點數為2n 1。4.哈夫曼樹的建立,每次將兩個權重最小的樹組合乙個大樹 小樹消失,大樹插入。這裡的存在與否依據parent標記 直到還有一棵樹為止。...

哈夫曼樹和哈夫曼編碼

原文參照 1.基本概念 節點之間的路徑長度 在樹中從乙個結點到另乙個結點所經歷的分支,構成了這兩個結點間的路徑上的經過的分支數稱為它的路徑長度 樹的路徑長度 從樹的 根節點到樹中每一結點的 路徑長度之和。在結點數目相同的二叉樹中,完全二叉樹的路徑長度最短。結點的權 在一些應用中,賦予樹中結點的乙個有...