- 博客(2)
- 收藏
- 关注
原创 构建哈夫曼树
哈夫曼编码的主要优势在于它是前缀码,这意味着任何字符的编码都不是另一个字符编码的前缀。:重复地从堆中取出两个具有最小权重的节点,创建一个新的内部节点,其权重等于这两个节点权重之和,并将新节点放回堆中。编码操作:对于数据串中的每一个字符,在编码表中查找对应的哈夫曼编码,并将这些编码依次连接起来形成最终的编码结果。从最小堆中取出两个最小频率的节点,创建一个新的内部节点,其频率是这两个节点频率之和,并将其放回最小堆中。其中,字符'A'的编码是'0',字符'B'的编码是'10',字符'C'的编码是'11'。
2024-12-26 22:32:03
1325
原创 单链表的创建与插入
创建单链表的代码通常包括以下几个部分:定义结点结构、实现创建新结点的功能、提供插入结点的方法(如头部插入或尾部插入),以及编写必要的辅助函数(如打印链表内容)。创建单链表的基本步骤包括定义节点结构、实现创建新节点的功能、提供插入节点的方法,以及编写必要的辅助函数(如打印链表内容)。例如,在插入新结点时,我们需要更新相关结点的指针,以便正确地将新结点链接到链表中。在有些实现中,头节点仅作为链表的起始标记,不包含实际数据,这样的头节点也叫作哨兵节点。这与静态分配的数组不同,数组的大小是在编译时确定的。
2024-12-22 22:03:37
1776
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅