的順序,從第一個(gè)節(jié)點(diǎn)開(kāi)始記錄,只記錄到第一個(gè)不為Μ的節(jié)點(diǎn);將記錄的節(jié)點(diǎn) 標(biāo)記發(fā)送給所述保存模塊;
[0143] 所述保存模塊,將記錄的節(jié)點(diǎn)標(biāo)記作為最終記錄結(jié)果,保存最終記錄結(jié)果。
[0144] 進(jìn)一步地,該裝置還包括葉節(jié)點(diǎn)總數(shù)統(tǒng)計(jì)模塊,對(duì)范式哈夫曼樹(shù)中的葉節(jié)點(diǎn)數(shù)目 進(jìn)行統(tǒng)計(jì),得到葉節(jié)點(diǎn)總數(shù),發(fā)送給所述保存模塊;
[0145] 所述保存模塊,將葉節(jié)點(diǎn)總數(shù)添加到最終記錄結(jié)果中,進(jìn)行保存。
[0146] 較佳地,該裝置還包括第二解碼模塊,對(duì)范式哈夫曼樹(shù)的解碼,具體地:從上至下 對(duì)各層依次進(jìn)行解碼:
[0147] 統(tǒng)計(jì)當(dāng)前層的上一層中標(biāo)記為Μ的節(jié)點(diǎn)數(shù),將統(tǒng)計(jì)出的節(jié)點(diǎn)數(shù)乘W2,將得到的乘 積值作為當(dāng)前層的節(jié)點(diǎn)數(shù)Ρ;若當(dāng)前層為第一層時(shí),Ρ為1;
[0148] 從最終記錄結(jié)果中依次讀取標(biāo)記位,直至遇到標(biāo)記為Ν或讀取的標(biāo)記位數(shù)目達(dá)到Ρ 個(gè)時(shí)停止,為讀取的標(biāo)記填充后續(xù)標(biāo)記Ν,直到標(biāo)記總位數(shù)達(dá)到Ρ位,將填充后的標(biāo)記作為當(dāng) 前層的標(biāo)記結(jié)果。
[0149] W上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用W限制本發(fā)明,凡在本發(fā)明的精 神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。
【主權(quán)項(xiàng)】
1. 一種保存范式哈夫曼樹(shù)的方法,其特征在于,該方法包括: 對(duì)范式哈夫曼樹(shù)的節(jié)點(diǎn)進(jìn)行標(biāo)記,用Μ標(biāo)記節(jié)點(diǎn)有子樹(shù),用N標(biāo)記節(jié)點(diǎn)無(wú)子樹(shù); 由上至下對(duì)范式哈夫曼樹(shù)每層節(jié)點(diǎn)的標(biāo)記依次進(jìn)行記錄,具體地:采用從左至右的順 序,從第一個(gè)節(jié)點(diǎn)開(kāi)始記錄,只記錄到第一個(gè)不為Ν的節(jié)點(diǎn); 將記錄的節(jié)點(diǎn)標(biāo)記作為最終記錄結(jié)果,保存最終記錄結(jié)果。2. 如權(quán)利要求1所述的方法,其特征在于,該方法還包括對(duì)范式哈夫曼樹(shù)的解碼,具體 地: 從上至下對(duì)各層依次進(jìn)行解碼: 統(tǒng)計(jì)當(dāng)前層的上一層中標(biāo)記為Μ的節(jié)點(diǎn)數(shù),將統(tǒng)計(jì)出的節(jié)點(diǎn)數(shù)乘以2,將得到的乘積值 作為當(dāng)前層的節(jié)點(diǎn)數(shù)Ρ;若當(dāng)前層為第一層時(shí),Ρ為1; 從最終記錄結(jié)果中依次讀取標(biāo)記位,直至遇到標(biāo)記為Μ或讀取的標(biāo)記位數(shù)目達(dá)到Ρ個(gè)時(shí) 停止,為讀取的標(biāo)記填充后續(xù)標(biāo)記Μ,直到標(biāo)記位總數(shù)達(dá)到Ρ位,將填充后的標(biāo)記作為當(dāng)前層 的標(biāo)記結(jié)果。3. 如權(quán)利要求1所述的方法,其特征在于,對(duì)范式哈夫曼樹(shù)每層節(jié)點(diǎn)的標(biāo)記依次進(jìn)行記 錄時(shí),不對(duì)最后一層的節(jié)點(diǎn)進(jìn)行記錄;該方法還包括: 對(duì)范式哈夫曼樹(shù)中的葉節(jié)點(diǎn)數(shù)目進(jìn)行統(tǒng)計(jì),得到葉節(jié)點(diǎn)總數(shù),將葉節(jié)點(diǎn)總數(shù)添加到最 終記錄結(jié)果中。4. 如權(quán)利要求1所述的方法,其特征在于,對(duì)范式哈夫曼樹(shù)每層節(jié)點(diǎn)的標(biāo)記依次進(jìn)行記 錄時(shí),每層的最后一個(gè)節(jié)點(diǎn)不記錄;該方法還包括: 對(duì)范式哈夫曼樹(shù)中的葉節(jié)點(diǎn)數(shù)目進(jìn)行統(tǒng)計(jì),得到葉節(jié)點(diǎn)總數(shù),將葉節(jié)點(diǎn)總數(shù)添加到最 終記錄結(jié)果中。5. 如權(quán)利要求4所述的方法,其特征在于,對(duì)范式哈夫曼樹(shù)每層節(jié)點(diǎn)的標(biāo)記依次進(jìn)行記 錄時(shí),不對(duì)最后一層的節(jié)點(diǎn)進(jìn)行記錄。6. 如權(quán)利要求5所述的方法,其特征在于,該方法還包括對(duì)范式哈夫曼樹(shù)的解碼,具體 地: 將第一層節(jié)點(diǎn)的標(biāo)記設(shè)置為Μ; 從上至下對(duì)后續(xù)各層依次進(jìn)行解碼: 統(tǒng)計(jì)當(dāng)前層的上一層中標(biāo)記為Μ的節(jié)點(diǎn)數(shù),將統(tǒng)計(jì)出的節(jié)點(diǎn)數(shù)乘以2,將得到的乘積值 作為當(dāng)前層的節(jié)點(diǎn)數(shù)Ρ; 從最終記錄結(jié)果中讀取葉節(jié)點(diǎn)總數(shù),統(tǒng)計(jì)出當(dāng)前層之前所有層標(biāo)記為Ν的葉節(jié)點(diǎn)數(shù),計(jì) 算出剩余葉節(jié)點(diǎn)數(shù)Q; 判斷Ρ是否等于Q,如果是,則當(dāng)前層為最后一層,Ρ個(gè)節(jié)點(diǎn)全部為葉節(jié)點(diǎn),標(biāo)記為Ν;否 貝1J,從最終記錄結(jié)果中依次讀取標(biāo)記位,直至遇到標(biāo)記為Μ或讀取的標(biāo)記位數(shù)目達(dá)到Ρ-1個(gè) 時(shí)停止,為讀取的標(biāo)記填充后續(xù)標(biāo)記Μ,直到標(biāo)記位數(shù)達(dá)到Ρ位,將填充后的標(biāo)記作為當(dāng)前層 的標(biāo)記結(jié)果。7. -種保存范式哈夫曼樹(shù)的裝置,其特征在于,該裝置包括節(jié)點(diǎn)標(biāo)記記錄模塊和保存 豐旲塊; 所述節(jié)點(diǎn)標(biāo)記記錄模塊,對(duì)范式哈夫曼樹(shù)的節(jié)點(diǎn)進(jìn)行標(biāo)記,用Μ標(biāo)記節(jié)點(diǎn)有子樹(shù),用Ν標(biāo) 記節(jié)點(diǎn)無(wú)子樹(shù);由上至下對(duì)范式哈夫曼樹(shù)每層節(jié)點(diǎn)的標(biāo)記依次進(jìn)行記錄,具體地:采用從左 至右的順序,從第一個(gè)節(jié)點(diǎn)開(kāi)始記錄,只記錄到第一個(gè)不為N的節(jié)點(diǎn);將記錄的節(jié)點(diǎn)標(biāo)記發(fā) 送給所述保存模塊; 所述保存模塊,將記錄的節(jié)點(diǎn)標(biāo)記作為最終記錄結(jié)果,保存最終記錄結(jié)果。8. 如權(quán)利要求7所述的裝置,其特征在于,該裝置還包括第一解碼模塊,對(duì)范式哈夫曼 樹(shù)的解碼,具體地:從上至下對(duì)各層依次進(jìn)行解碼: 統(tǒng)計(jì)當(dāng)前層的上一層中標(biāo)記為Μ的節(jié)點(diǎn)數(shù),將統(tǒng)計(jì)出的節(jié)點(diǎn)數(shù)乘以2,將得到的乘積值 作為當(dāng)前層的節(jié)點(diǎn)數(shù)Ρ;若當(dāng)前層為第一層時(shí),Ρ為1;從最終記錄結(jié)果中依次讀取標(biāo)記位,直 至遇到標(biāo)記為Μ或讀取的標(biāo)記位數(shù)目達(dá)到Ρ個(gè)時(shí)停止,為讀取的標(biāo)記填充后續(xù)標(biāo)記Μ,直到標(biāo) 記位總數(shù)達(dá)到Ρ位,將填充后的標(biāo)記作為當(dāng)前層的標(biāo)記結(jié)果。9. 一種保存范式哈夫曼樹(shù)的方法,其特征在于,該方法包括: 對(duì)范式哈夫曼樹(shù)的節(jié)點(diǎn)進(jìn)行標(biāo)記,用Μ標(biāo)記節(jié)點(diǎn)有子樹(shù),用Ν標(biāo)記節(jié)點(diǎn)無(wú)子樹(shù); 由上至下對(duì)范式哈夫曼樹(shù)每層節(jié)點(diǎn)的標(biāo)記依次進(jìn)行記錄,具體地:采用從右至左的順 序,從第一個(gè)節(jié)點(diǎn)開(kāi)始記錄,只記錄到第一個(gè)不為Μ的節(jié)點(diǎn); 將記錄的節(jié)點(diǎn)標(biāo)記作為最終記錄結(jié)果,保存最終記錄結(jié)果。10. 如權(quán)利要求9所述的方法,其特征在于,該方法還包括對(duì)范式哈夫曼樹(shù)的解碼,具體 地: 從上至下對(duì)各層依次進(jìn)行解碼: 統(tǒng)計(jì)當(dāng)前層的上一層中標(biāo)記為Μ的節(jié)點(diǎn)數(shù),將統(tǒng)計(jì)出的節(jié)點(diǎn)數(shù)乘以2,將得到的乘積值 作為當(dāng)前層的節(jié)點(diǎn)數(shù)Ρ;若當(dāng)前層為第一層時(shí),Ρ為1; 從最終記錄結(jié)果中依次讀取標(biāo)記位,直至遇到標(biāo)記為Ν或讀取的標(biāo)記位數(shù)目達(dá)到Ρ個(gè)時(shí) 停止,為讀取的標(biāo)記填充后續(xù)標(biāo)記Ν,直到標(biāo)記總位數(shù)達(dá)到Ρ位,將填充后的標(biāo)記作為當(dāng)前層 的標(biāo)記結(jié)果。11. 一種保存范式哈夫曼樹(shù)的裝置,其特征在于,該裝置包括節(jié)點(diǎn)標(biāo)記記錄模塊和保存 豐旲塊; 所述節(jié)點(diǎn)標(biāo)記記錄模塊,對(duì)范式哈夫曼樹(shù)的節(jié)點(diǎn)進(jìn)行標(biāo)記,用Μ標(biāo)記節(jié)點(diǎn)有子樹(shù),用Ν標(biāo) 記節(jié)點(diǎn)無(wú)子樹(shù);由上至下對(duì)范式哈夫曼樹(shù)每層節(jié)點(diǎn)的標(biāo)記依次進(jìn)行記錄,具體地:采用從右 至左的順序,從第一個(gè)節(jié)點(diǎn)開(kāi)始記錄,只記錄到第一個(gè)不為Μ的節(jié)點(diǎn);將記錄的節(jié)點(diǎn)標(biāo)記發(fā) 送給所述保存模塊; 所述保存模塊,將記錄的節(jié)點(diǎn)標(biāo)記作為最終記錄結(jié)果,保存最終記錄結(jié)果。12. 如權(quán)利要求11所述的裝置,其特征在于,該裝置還包括第二解碼模塊,對(duì)范式哈夫 曼樹(shù)的解碼,具體地:從上至下對(duì)各層依次進(jìn)行解碼: 統(tǒng)計(jì)當(dāng)前層的上一層中標(biāo)記為Μ的節(jié)點(diǎn)數(shù),將統(tǒng)計(jì)出的節(jié)點(diǎn)數(shù)乘以2,將得到的乘積值 作為當(dāng)前層的節(jié)點(diǎn)數(shù)Ρ;若當(dāng)前層為第一層時(shí),Ρ為1;從最終記錄結(jié)果中依次讀取標(biāo)記位,直 至遇到標(biāo)記為Ν或讀取的標(biāo)記位數(shù)目達(dá)到Ρ個(gè)時(shí)停止,為讀取的標(biāo)記填充后續(xù)標(biāo)記Ν,直到標(biāo) 記總位數(shù)達(dá)到Ρ位,將填充后的標(biāo)記作為當(dāng)前層的標(biāo)記結(jié)果。
【專利摘要】本發(fā)明公開(kāi)了保存范式哈夫曼樹(shù)的方法及裝置,其中,該方法包括:對(duì)范式哈夫曼樹(shù)的節(jié)點(diǎn)進(jìn)行標(biāo)記,用M標(biāo)記節(jié)點(diǎn)有子樹(shù),用N標(biāo)記節(jié)點(diǎn)無(wú)子樹(shù);由上至下對(duì)范式哈夫曼樹(shù)每層節(jié)點(diǎn)的標(biāo)記依次進(jìn)行記錄,具體地:采用從左至右的順序,從第一個(gè)節(jié)點(diǎn)開(kāi)始記錄,只記錄到第一個(gè)不為N的節(jié)點(diǎn);將記錄的節(jié)點(diǎn)標(biāo)記作為最終記錄結(jié)果,保存最終記錄結(jié)果。本發(fā)明方案能夠?qū)崿F(xiàn)采用盡量少的數(shù)據(jù)來(lái)保存范式哈夫曼樹(shù),提高存儲(chǔ)效率。
【IPC分類】H03M7/40, H03M7/42
【公開(kāi)號(hào)】CN105490683
【申請(qǐng)?zhí)枴緾N201510836102
【發(fā)明人】王志強(qiáng), 郭軍
【申請(qǐng)人】東方網(wǎng)力科技股份有限公司
【公開(kāi)日】2016年4月13日
【申請(qǐng)日】2015年11月26日