10年公务人员高等考试三级考试试题 - 公职王.PDF

10年公务人员高等考试三级考试试题 - 公职王.PDF

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
10年公务人员高等考试三级考试试题 - 公职王

公職王歷屆試題 (101高普考) 101 年公務人員高等考試三級考試試題 類 科:資訊處理 科 目:資料結構 一、假設我們有一個由26個英文字母所構成的文字檔。 請說明如何建構一棵霍夫曼樹(Huffman tree)來壓縮該文字檔。 請說明如何利用你所述之方法建構的霍夫曼樹壓縮該文字檔。 請說明如何解壓縮利用你所述方法壓縮的文字檔。 【擬答】: 先舉個簡單範例:如果使用ASCII來編碼時,一個字元使用1byte(8bits),因此字串 abbcccc的編碼將變成共有7個字元乘上8bits,總共佔有56bits。可是進一步分析,上面 三種字元出現的頻率,a出現1次,b出現2次,c出現4次,如果都使用一樣長度來編碼顯 然是不理想的。而霍夫曼編碼則是將不同的字元依據出現的頻率,出現機率高的字母使用較 短的編碼,反之出現機率低的則使用較長的編碼,以此例而言,可以得到c的編碼0,b的編 碼10與a的編碼11,原文abbcccc新的編碼變成1110100000,發現原本56bits的文件,經 過霍夫曼編碼後只剩下10bits,變成17%左右的大小,不僅影響儲存容量會變小,連帶傳輸 的時間也會縮短,這就是霍夫曼編碼的最大用途。 因此如果要來壓縮此26個英文字母所組成的文字檔,必須先計算出各字元出現的頻率,再推 導出霍夫曼編碼樹。 霍夫曼編碼樹建構方式如下步驟 首先分析各字元在文章中出現之頻率,例如ababcbcccc中,a出現2次,b出現3次,c 出現5次,因此換算a的機率為0.2,b的機率為0.3與c的機率為0.5。 然後拿取兩個頻率最小的字元,建構一個成為節點的左、右子樹之節點,例如先取a與 b,將此創建好的節點頻率設為父親節點的和。 取出下一個頻率次低的字元,與上述步驟的右(左)子樹再度結合為下一個子樹。 重覆2與3 步驟直到父節點的值為1時停止。此為霍夫曼樹,而編碼原則為走左子樹為 0,走右子樹為1,因此可得到c的編碼0,b的編碼10與a的編碼11。 因此對ababcbcccc編碼可以得到 111011100100000。 當接收端收到 “111011100100000”,由左往右依序掃描碼,同時也利用霍夫曼編碼樹來找 出碼所對應的符號。每當發現目前掃描出的碼是某個符號對應到的碼,就馬上查詢碼表,將 碼轉換成文字,然後繼續掃描下去,可找出原本文字” ababcbcccc”。 二、下列的虛擬碼程式片段中,I和S均為遞迴函式(recursive function),I和S的參數A是 i A 一個整數陣列;I和S的參數 為不為負的整數,主要是做為陣列 的索引(index)。假設 陣列 A n n − 1 x y 的元素個數為 ,且其索引值為0到 之間的數值。虛擬碼swap and 的意思是將 變數 x y x y 與變數 的儲存值互換;亦即執行之後變數 的儲存值為執行前變數 的儲存值,執行 共 5 頁 第 1 頁 全國最大公教職網站 .tw 公職王歷屆試題 (101高普考) y x n A n − 1 之後變數 的儲存值為執行前變數 的儲存值。令T( )為呼叫函式I( , )的執行時 n A 間。T( )會隨著陣列 所儲存的數值不同而有所不同。 S( A ,

文档评论(0)

youbika + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档