汉字有400多个发音,采用拼音输入法。算上常用标点符号,有400多个符号等待编码。

使用九进制的霍夫曼编码。具体方法是:把待编码的符号按照概率由高到低排序,合并最低的9个符号至一个节点,9个概率相加作为新节点的概率。重复排序、合并的步骤,直到只剩下一个节点。

于是得到一棵编码树,从树根开始编码。概率最高的分支编码为5,以后依次是5 4 6 2 8 1 3 7 9,考虑到5在中间,最容易按到,而4 6 2 8到5的距离较小,1 3 7 9到5的距离较大(相差1.4倍)。

然后,以5-4为例,按了4之后,再按4的距离最小,而1 5 7到4的距离大了一点,接下来是2 8 6 3 9,从而,整体的排序为4 1 5 7 2 8 6 3 9。

以上是九进制的霍夫曼编码,以及考虑了按键距离的方案。这是九键拼音输入法的理论上的最优方案。但是,其缺点也很明显,记忆量大,学习曲线陡峭,劝退好多初学者。

例如,估计逗号的使用频率最高,那么,他应该编码为55。shi,de的频率也不低,估计为两位数。还有许多发音都是三位数编码。基本上来说,点三下输入一个汉字。

九键拼音霍夫曼输入法相关推荐

  1. 哈夫曼编码压缩率计算_程序员的算法课(8)-贪心算法:理解霍夫曼编码

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/m0_37609579/article/ ...

  2. 信息论 哈夫曼编码 与 菲诺编码的实现(对一幅BMP格式的灰度图像(个人 证件照片)进行二元霍夫曼编码和译码。并进行编码效率的计算,对一幅BMP格式的灰度图像进行二 元Fano编码、译码 )

    信息论 哈夫曼编码 与 菲诺编码的实现(对一幅BMP格式的灰度图像(个人 证件照片)进行二元霍夫曼编码和译码.并进行编码效率的计算,对一幅BMP格式的灰度图像进行二 元Fano编码.译码 ) 原始图片 ...

  3. 程序员的算法课(8)-贪心算法:理解霍夫曼编码

    一.一种很贪婪的算法定义 贪心是人类自带的能力,贪心算法是在贪心决策上进行统筹规划的统称. [百度百科]贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择.也就是说,不从整体 ...

  4. 数据结构之霍夫曼压缩,更易理解文件压缩过程

    中间遇到过很多问题,不断的找办法,其实网上有很多前辈遇到过类似的问题,基本上我们目前这个学习阶段遇到的都有解决方法,我体会很深,需要不断坚持和学习:在学习霍夫曼的过程中,我了解了其他的lzw字典压缩方 ...

  5. 数据结构(十二) -- 树(四) -- 霍夫曼树

    1. 基本介绍 给定n个权值为n个叶子节点,构造一棵二叉树,若该树的带权路径长度(wpl)达到最小,称这样的二叉树为最优二叉树,也成为了霍夫曼树. 霍夫曼树是带权路径长度最短的树,权值较大的节点离根较 ...

  6. 霍夫曼树和霍夫曼编码以及霍夫曼编码的应用

    文章目录 霍夫曼树介绍 1.1霍夫曼树的定义 1.2霍夫曼树的几个概念 1.3构建霍夫曼树的过程 1.4代码实现霍夫曼树 霍夫曼编码介绍 什么是霍夫曼编码 通信领域的应用 字符串压缩 1.构造霍夫曼树 ...

  7. 可逼近信道容量编码技术之霍夫曼编码的实现

    可逼近信道容量编码技术之霍夫曼编码的实现 简介 在当今信息爆炸时代,如何采用有效的数据压缩技术来节省数据文件的存储空间和计算机网络的传送时间已越来越引起人们的重视.哈夫曼编码正是一种应用广泛且非常有效 ...

  8. OpenCV3图像处理——霍夫曼变换直线检测

    前言 1.直线检测在好多实现应用中能用到到,我之前做过扫描件检测时用直线检测来处理判断页面是否水平,还有在辅助驾驶中的车道偏离预警系统也有过应用. 2.我的编程环境是Windows 7 64位,IDE ...

  9. Word2vec基础之霍夫曼树

    word2vec使用了CBOW与Skip-Gram来训练模型与得到词向量,但是并没有使用传统的DNN模型.最先优化使用的数据结构是用霍夫曼树来代替隐藏层和输出层的神经元,即霍夫曼树的: 叶子节点:起到 ...

最新文章

  1. tensorflow keras numpy 数据 规范化、标准化、归一化
  2. CRM My Opportunity max hit的技术实现
  3. 2019年各大银行最新存款利率,这么存可以获得更多的利息!
  4. linux5.4无法远程,利用Xmanager_在RedHat5.4下实现Linux远程桌面
  5. 云小课 | 不了解EIP带宽计费规则?看这里!
  6. git commit -m 'comment' 遇到 'npm' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
  7. linux Boot目录满了之后的解决方法
  8. 代码逻辑分析_双十一模块 79.34% 的代码是怎样智能生成的
  9. uniapp 实现定位到当前城市
  10. webrtc源码分析 nack详解
  11. Qt 之转盘实现C++语言
  12. DDR MC DFI PHY
  13. 23种设计模式用英语如何表达?
  14. 网站漏洞测试 关于webshell木马后门检测
  15. python去除字符串中的单词_从字符串中删除特定单词的最有效方法
  16. 从“万金油”到“一招先”
  17. 女生学计算机和师范类哪个好,什么专业适合女生学
  18. 评测酷睿i5 1240p和锐龙r5 6600u选哪个 i51240p和锐龙r56600u对比
  19. 汇编总结:mov指令
  20. Elasticsearc倒排索引(二):分析analysis

热门文章

  1. zip与unzip一般压缩和带密码压缩与解压缩
  2. sqlserver 拼接字段
  3. 网吧技术维护服务合同书
  4. AEGN复现细节、环境配置以及bug解决方案
  5. 提取人声软件android,音频声音提取2021版
  6. 基于安卓平台的校园社交app设计
  7. SuperMap GIS三维插件使用QA
  8. 计算机二级PPT2022.2.7
  9. Unity3D优化问题
  10. 忘记iPhone锁屏密码?三种方法帮你顺利解决!