
数据结构
just today
这个作者很懒,什么都没留下…
展开
-
KMP算法
**KMP** 谈到KMP算法,我们就一定回想到next数组的求解。接下来,我们就谈谈next数组的两种求解方法。 例如,模式串为“ababa”,next[1] = 0,next[2] = 1,这都是固定的,等下我们在解释原因。首先我们先说说第一种方法。 a.next[3]我们只需看模式串的前两个字符ab,这...翻译 2019-07-03 17:02:44 · 140 阅读 · 0 评论 -
树,森林到二插树的转换
树转换成二叉树的两个步骤: a.在树中所有的兄弟结点之间加一条连线。 b.对每个结点,除保留与其长子的连线外,去掉该结点与其他孩子的连线。 图一为原树,图二为经过a变化得到的树,图三为经过b变换的到的树 二.森林转化成二叉树 a.现将森林的每棵树变成二叉树 b.将各二叉树的根结点视为兄弟从左至右连在一起 ...转载 2019-07-04 15:36:26 · 128 阅读 · 0 评论 -
哈夫曼树的构建及哈夫曼编码的求解
总体思路:先构建一棵最小生成树,然后左孩子给它标上‘0’,右孩子标上‘1’,然后从叶子节点追溯到根,存储到数组cd【】中。 构建最小生成树的方法:从权重中选择两个最小的,构成一棵树,并将新生成的权重加入之前的权重中HT【i】.weight中,直到构成一棵完整的二叉树。 话不多说,直接上代码。 #include "stdio.h" #include "stdlib.h" #include "stri...原创 2019-07-05 16:58:37 · 512 阅读 · 0 评论