日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

哈夫曼编码的非树节点形式实现

發(fā)布時間:2024/9/15 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 哈夫曼编码的非树节点形式实现 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

哈夫曼編碼的非樹節(jié)點(diǎn)形式實(shí)現(xiàn)

  • 楔子
  • 思考過程
    • 于是想自己寫一個headq
    • 構(gòu)建二叉樹實(shí)在太久了,完全不讓看文檔,不敢不相信在有限的時間里可以調(diào)試成功,于是就想了使用非樹的實(shí)現(xiàn)方式,就是把手動畫的二叉樹,從樹葉往上補(bǔ)充哈夫曼編碼
  • 總結(jié)

楔子

今日心血來潮參加了某廠家的機(jī)試,牛客網(wǎng)上機(jī)試,一看只有一題且時間90分鐘200分,允許使用本地IDE,就知道肯定幾分鐘出不來,看題目可喜的是秒懂哈夫曼編碼,可悲的是一年半以前學(xué)的樹圖數(shù)據(jù)結(jié)構(gòu)都忘光了。

思考過程

我知道用優(yōu)先級隊(duì)列+樹可以實(shí)現(xiàn),可是heapq和二叉樹一年多沒用了,只知道用numpy和pandas汗顏,于是慌了一逼。

于是想自己寫一個headq

反正排序用sort()不用自己寫,heapq也好實(shí)現(xiàn),后來怕耗時太多,heapq勉強(qiáng)想起來怎么用,稍微試了一下,用起來沒問題

構(gòu)建二叉樹實(shí)在太久了,完全不讓看文檔,不敢不相信在有限的時間里可以調(diào)試成功,于是就想了使用非樹的實(shí)現(xiàn)方式,就是把手動畫的二叉樹,從樹葉往上補(bǔ)充哈夫曼編碼

from heapq import * # 輸入,轉(zhuǎn)化為list strs = input() strs = [i for i in strs]# 去重 str_single = set(strs)# 按照詞頻入優(yōu)先級隊(duì)列 hq =[] for s in str_single:heappush(hq,(strs.count(s),s))# 初始化明文字典 result = {} for i in str_single:result[i] = ''# 從樹葉往上構(gòu)建哈夫曼編碼 while hq:left = heappop(hq)if hq:right = heappop(hq)# 取兩個最小詞頻的節(jié)點(diǎn),單個字母優(yōu)先在左邊if left[0] == right[0]:if len(left[1]) > len(right[1]):left,right = right,left# 左邊對應(yīng)編碼加0,非單個單詞比如‘cd',那么對應(yīng)的c和d的哈夫曼編碼均需要加0for i in left[1]:result[i] += '0'# 右邊對應(yīng)編碼加1for i in right[1]:result[i] += '1'# 把合成節(jié)點(diǎn)放入優(yōu)先隊(duì)列heappush(hq,(left[0]+right[0],left[1]+right[1]))else:break# 最后結(jié)果對應(yīng)哈夫曼編碼是反的,故反轉(zhuǎn)一下 for k,v in result.items():v = [i for i in v]result[k] = ''.join(v[::-1]) # 輸出結(jié)果 for i in strs:print(''.join(result[i]),end='')

總結(jié)

還是好好再復(fù)習(xí)一下樹和圖吧,否則連面試機(jī)會都沒有,汗顏!!

總結(jié)

以上是生活随笔為你收集整理的哈夫曼编码的非树节点形式实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 91青青操 | 91porn破解版 | 久久久久亚洲AV成人 | 日韩精品在线观看一区二区 | 色噜噜日韩精品欧美一区二区 | 亚洲国产精品无码观看久久 | 国产又黄又嫩又滑又白 | 亚洲免费观看视频 | 久久久久噜噜噜亚洲熟女综合 | 黄色免费在线观看视频 | 欧美亚洲国产成人 | 一级性生活黄色片 | 成人在线网站 | 日韩综合一区二区 | 三级精品在线观看 | 久久久久久婷 | 和黑帮大佬的365 | 性色视频| 欧美日韩一区二区在线播放 | 精品一区二区在线看 | 国产伦精品一区二区三区 | 国产亚洲精品久久久久四川人 | 亚洲成色在线 | 99国产免费 | 精品91自产拍在线观看二区 | 午夜成年人 | 日韩欧美aaa | 日韩欧美综合在线 | 成人毛片一区二区三区 | 久久久夜色精品亚洲 | 欧美与黑人午夜性猛交久久久 | 人妖粗暴刺激videos呻吟 | 成人av动漫在线 | 国产高清一二三区 | 精品无码久久久久国产 | 日韩美女激情 | 日韩看片 | 欧美一级大片免费看 | 五月婷婷在线播放 | 日本 在线| 超碰97人人干 | 免费看国产曰批40分钟粉红裤头 | 欧州一区二区三区 | 免费看污片的网站 | 韩国黄色精品 | 国产第一色 | 国产在线一区二区视频 | 日爽夜爽| 1级黄色大片儿 | 91亚洲精品国偷拍自产在线观看 | 不卡三区| 西野翔之公侵犯中文字幕 | 国产色综合视频 | 无码少妇精品一区二区免费动态 | 国产美女免费无遮挡 | 国产精品第1页 | 欧美黑人一级 | 91天天色 | а天堂中文在线官网 | 视频久久精品 | 成人黄色在线观看视频 | 国产一级α片 | 欧美精品色哟哟 | 亚洲性夜| 人人妻人人澡人人爽欧美一区双 | 免费av日韩 | 香蕉久久国产 | 少妇av一区 | www.com欧美| 亚洲一区二区小说 | 麻豆疯狂做受xxxx高潮视频 | 久爱精品| av中字在线| 99人妻碰碰碰久久久久禁片 | 麻豆一区二区三区四区 | 色污网站| 超级碰在线观看 | 李丽珍裸体午夜理伦片 | 三女同志亚洲人狂欢 | 久久毛片网站 | 精品成人无码一区二区三区 | yellow免费在线观看 | 午夜香蕉视频 | 午夜日韩视频 | 老太婆av| 久久精品国产亚洲AV黑人 | 黄色无遮挡网站 | 久久精品欧美一区二区 | 六月综合激情 | 91丨porny丨海角社区 | 一区二区美女视频 | 手机电影在线观看 | 久久看视频| 四虎影院国产精品 | 久久禁 | 精品人妻午夜一区二区三区四区 | 日韩一级色片 | 国内偷拍第一页 | 日本久久一级片 |