数据结构
zzp1247
这个作者很懒,什么都没留下…
展开
-
赫夫曼编码实现数据压缩与解压
赫夫曼编码步骤:1、分析每个字符出现的次数(包括空格),并以字符出现的次数作为权值,构建一个赫夫曼树2、规定向左路径为 '0',向右路径为 '1',以此来构成一个前缀编码(赫夫曼编码) 前缀编码就是该编码不是其他任何一个编码的前缀 因为每个字符在赫夫曼树上都是叶子结点,因此以路径为编码不会出现二义性赫夫曼编码压缩比一般在20%~90%之间import java.util.*;import java.io.*;public class Test { ...原创 2021-09-25 19:31:54 · 256 阅读 · 3 评论 -
环形链表解决Josephu(约瑟夫)问题
约瑟夫问题:已知 n 个人(以编号1,2,3…n分别表示)围坐在一张圆桌周围。从编号为 k 的人开始报数,数到 m 的那个人出圈;他的下一个人又从 1 开始报数,数到 m 的那个人又出圈;依此规律重复下去,直到剩余最后一个胜利者。class CircularLinkedList{ Person head = null; public void add(Person person){ if (head == null){ head = p原创 2021-09-18 21:07:12 · 150 阅读 · 2 评论