OI 笑传 #11

还是初试。

哈夫曼编码与哈夫曼树

哈夫曼编码干的事情就是把一个有顺序要求的字符串序列编码成一个 \(01\) 串,而且编码出来的串还要能够被还原成原来的字符串序列。在此前提下要求编码串长最短。

推荐解说:https://www.bilibili.com/video/BV1qu411F7Zs/

哈夫曼树是个点权 Kruskal 重构树状物,特点就是字符串都在叶子上,是一棵二叉树,由根到叶子的路径组成的就是哈夫曼编码。

哈夫曼编码的最大特点就是不存在一个值的编码是另一个值编码的前缀,这是保证顺序翻译哈夫曼编码不产生冲突的充分必要条件。

格雷码

传统的二进制系统例如数字 3 的表示法为 011 ,要切换为邻近的数字 4,也就是 100 时,装置中的三个位元都得要转换,因此于未完全转换的过程时装置会经历短暂的,010,001,101,110,111 等其中数种状态,也就是代表着 2、1、5、6、7,因此此种数字编码方法于邻近数字转换时有比较大的误差可能范围。

格雷码的发明就是用来将误差的可能性缩减至最小,格雷码的特点是每个邻近数字都只相差一个二进制位,因此也称为最小差异码。

格雷码是一种可靠性编码。

构造二进制格雷码与将格雷码转换为二进制常用移位异或和下拉异或法。

推荐解说:https://www.bilibili.com/video/BV1qL41127tK/

前中后缀表达式的转换

解说:https://www.cnblogs.com/hm2nsite/articles/18698072

小点

无向图各顶点度数之和必为偶数。有向图出入度之和相等。

\(n^5-5n^3+4n+15\) 为连续五个自然数的乘积。

\(a+b+ab=(a+1)(b+1)-1\) 常用因式分解。

并不是所有运算符都可以重载如 ::

二维数组定义时列必须有常数值。

GDB 命令:print 显示一次变量值。display 一直显示知道调试结束。

关系:传递性,自反性,对称性,反对称性,偏序性。

posted @ 2025-08-28 18:36  hm2ns  阅读(16)  评论(0)    收藏  举报