999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

最優二叉樹的生成及應用

2008-04-12 00:00:00張廣學
現代電子技術 2008年10期

摘 要:衡量一個算法的優劣有許多因素,效率就是其中之一。而效率指的就是算法的執行時間。提高效率是軟件開發必須注重的問題。對同一個問題往往有多個算法可以解決,在同等條件下,執行時間短的算法其效率是最高的。從霍夫曼樹的定義以及霍夫曼算法出發,介紹如何構造霍夫曼樹以及利用霍夫曼算法優化程序設計的原理,重點討論在判定類問題中利用霍夫曼樹可以建立最佳判定算法,提高程序的執行速度。

關鍵詞:霍夫曼樹;霍夫曼算法;最佳判定算法;執行時間

中圖分類號:TP183 文獻標識碼:B

文章編號:1004-373X(2008)10-112-02

Generation and Application of Optimal Binary Tree

ZHANG Guangxue

(Shaanxi Spinning and Weaving Clothing Occupation Technology,Xianyang,712000,China)

Abstract:Efficiency is one of factors to judge an algorithm,it refers to execution time of algorithm to improve the efficiency is important problem in software development.In the same condition,it has high efficient in a short execution time.According to Huffman algorithm and Huffman tree,how to build Huffman tree and using Huffman algorithm to optimize the program design are introduced,Huffman tree is applied to build best decision algorithm is discussed too.

Keywords:Huffman tree;Huffman algorithm;best decision algorithm;execution time

1 引 言

衡量一個算法的優劣有許多因素,效率就是其中之一。而效率指的就是算法的執行時間。提高效率是軟件開發必須注重的問題。對同一個問題往往有多個算法可以解決,在同等條件下,執行時間短的算法其效率是最高的。最優二叉樹最早是由霍夫曼于1952年提出的,所以被稱為霍夫曼樹,相應的算法稱為霍夫曼算法。

霍夫曼樹又稱最優二叉樹,是指帶權路徑長度最小的二叉樹。在軟件開發中,都要解決大量的判定類問題,解決這類問題的習慣做法常是自上而下(或自下而上)或由高到低(或由低到高)的逐個判斷。而大量的判定問題中普遍存在著滿足中間條件的多,滿足兩頭條件的少的現象(近似于正態分布)。利用霍夫曼樹可以建立最佳判定算法,大大提高程序的執行速度。

2 霍夫曼樹定義及霍夫曼算法

2.1 霍夫曼樹定義

一般地,假設有n個權值{w1,w2,…,wn},如何構造有n個葉子結點的二叉樹,每個葉子結點帶有權值wi且帶權路徑長度WPL最小,這是一個很有實際意義的問題,霍夫曼早在1952年就提出一個帶有一般規律的算法,很好地解決這個問題,因此人們把這種具有最小路徑長度的二叉樹稱為霍夫曼樹或最優二叉樹,相應的算法稱為霍夫曼算法。其中:WPL=∑ni=1wili,wi為第i個葉子結點的權值,li為從根結點到第i個葉子結點的路徑長度,n為二叉樹的葉子個數。

2.2 霍夫曼算法

(1) 根據給定的n個權值{w1,w2,…,wn}構造n棵二叉樹的集合F={T1,T2,…,Tn},其中每棵二叉樹Ti中只有一個帶權為wi的根結點,其左、右子樹均空;

(2) 在F中選取2棵根結點的權值最小的樹作為左、右子樹構造一棵新的二叉樹,且置新的二叉樹的根結點的權值為其左、右子樹上根結點的權值之和;

(3) 在F中刪除這2棵二叉樹,同時將新得到的二叉樹加入F中;

(4) 重復(2)和(3),直到F只含一棵二叉樹為止。這棵二叉樹便是霍夫曼樹。

[HTH]例1 給定一組權值{2,4,7,8,10,12}構造霍夫曼樹。

按霍夫曼算法構造的最優二叉樹如下:

其中根結點上標注的數字代表相應結點的權值。

3 霍夫曼樹的應用

霍夫曼樹的應用很廣,在不同的應用中葉子結點的權值可以有不同的解釋。當霍夫曼樹應用到信息編碼中,權值可看成是某個符號出現的頻率;當應用到判定類問題中,可以看成是某類數據出現的頻率等。下面介紹霍夫曼樹在判定類問題中的應用。

圖1 霍夫曼算法構造的的最優二叉樹

利用霍夫曼樹可以構成最佳判定過程。判定過程可以看成二叉樹,以開始判斷作為根結點,判斷的結果分成二叉,再對其中的分支作進一步的判斷。如果將權值大的比較放的深度較深,那么整棵比較樹的權值就會加大,因此只有將權值大的比較放在深度較淺處,將權值小的比較放在深度較深處,那么整棵比較樹的權值就變小,總的判定次數就比較少。這種優化的思想就是盡量降低整棵樹的權值,這就是最優二叉樹的原理。

[HTH]例2 編制1個將百分制轉換成5級分制的程序

此程序(偽程序)只要利用條件語句便可完成。

這是一種自下而上的逐個判斷,算法效率比較低。由于在實際中,學生成績在5個等級上的分布是不均勻的(優秀和不及格的學生遠遠少于中等學生,近似的呈正態分布),同時此程序要反復執行,因此應考慮上述程序的質量問題,即其執行所需時間,可以利用霍夫曼樹優化算法。

假設成績分布規律如表1所示:

表1 成績分布規律

圖2 霍夫曼樹

圖3 判定期過程

由于每個判定框都有兩次比較,將兩次比較分開就得到下面的判定樹(見圖4):

根據這個霍夫曼樹就可以得到優化的偽程序。

例3 在學校職工獎金計算系統中,依據獎金的發放辦法,行政人員的獎金按級別分為:校級、處級、科級、副科級、一級科員、二級科員。在計算每個行政人員的獎金時需要進行大量的判斷。選擇合適的判斷方法可以大大的提高程序的執行速度。按習慣方法確定行政人員職務的算法如下(偽程序):

IF 校級

THEN a1

這是一種自上而下的逐個判斷,算法效率比較低,這里可以利用霍夫曼樹來優化算法,假設學校行政人員的分布情況如表2所示:

表2 學校行政人員的分布情況

行政人員校級處級科級副科級一級科員二級科員

該問題對應一組權值為{5,6,8,13,34,43}的霍夫曼樹見圖5:

圖4 判定樹

圖5 霍夫曼樹

優化后的偽程序如下:

算法的效率體現著程序的應用價值,科學地選用高效率的算法是程序開發必須注重的一個重要問題,利用霍夫曼樹建立最佳判定算法,可以提高程序的執行效率。

參 考 文 獻

[1]李盤林,李麗雙,李洋,等.離散數學[M].北京:高等教育出版社,1999.

[2]張忠志.離散數學[M].北京:高等教育出版社,2002.

[3]嚴蔚敏,吳偉民.數據結構[M].北京:清華大學出版社,1992.

作者簡介

張廣學 男,1965年出生,陜西紡織服裝職業技術學院講師。主要從事離散數學的教學與研究。

注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。

主站蜘蛛池模板: 一本大道无码日韩精品影视| 日韩无码视频播放| 欧美色图第一页| 久久久精品无码一二三区| 欧美视频在线观看第一页| 亚洲欧美综合在线观看| 国产一级裸网站| 色有码无码视频| 精品久久久久成人码免费动漫| 免费又黄又爽又猛大片午夜| 色天天综合| 自偷自拍三级全三级视频| 白浆免费视频国产精品视频| 亚洲第一福利视频导航| 欧美日韩精品在线播放| 国产高颜值露脸在线观看| 国产香蕉一区二区在线网站| 97视频在线精品国自产拍| 国产大片喷水在线在线视频| 免费看久久精品99| 欧美色香蕉| av一区二区三区高清久久| 亚洲综合网在线观看| 东京热高清无码精品| 欧美中出一区二区| 在线观看免费人成视频色快速| 亚洲大学生视频在线播放| 亚洲妓女综合网995久久| 在线无码av一区二区三区| 国产无码精品在线| 亚洲无码精品在线播放| 熟女日韩精品2区| 爆操波多野结衣| 第一区免费在线观看| 国产丝袜啪啪| 中文字幕日韩久久综合影院| 无码乱人伦一区二区亚洲一| 国产又爽又黄无遮挡免费观看| 欧美国产日韩一区二区三区精品影视| 天堂成人av| 亚洲欧美人成人让影院| 亚洲精品桃花岛av在线| 中文字幕欧美日韩| 毛片免费视频| 欧美激情二区三区| 久久国产精品影院| 国产www网站| 日韩在线网址| 麻豆精品在线视频| 亚洲第七页| 欧美精品在线看| 呦女精品网站| 在线亚洲精品福利网址导航| 在线精品亚洲一区二区古装| 看你懂的巨臀中文字幕一区二区| 综合网久久| 91网在线| 91综合色区亚洲熟妇p| 九九久久99精品| 青草视频在线观看国产| 婷婷亚洲最大| 中文字幕永久在线观看| www精品久久| 欧美一区二区三区不卡免费| 亚洲系列中文字幕一区二区| 欧美激情视频一区| 午夜国产不卡在线观看视频| 黄色在线不卡| 国产女人在线观看| 欧美在线免费| 国产精品观看视频免费完整版| 手机精品福利在线观看| 高清色本在线www| 久久久久亚洲Av片无码观看| 九九免费观看全部免费视频| 熟女日韩精品2区| 一级爆乳无码av| 国产成人精品一区二区不卡| 色香蕉网站| 国产午夜福利片在线观看| a色毛片免费视频| 亚洲天堂网视频|