欧拉函数
Φ(x) = x * (1-1/p1) * (1-1/p2)...
其中p1,p2...为x的所有质因数。
如56=2*2*2*3,则Φ(56) = 56 * (1-1/2)*(1-1/7) =
哈夫曼树
以数据集{3,6,9,5,11,8}为权值构造一棵赫夫曼树,其带权路径长度为
哈夫曼树构建方法:
先排序{3, 5, 6, 8, 9, 11},取出最小的3和5构建子树,产生新节点8*
8*
3 5
排序{6, 8, 8*, 9, 11},取出最小的6和8构建子树,产生新节点14*,排序
14*
6 8
{8*, 9, 11, 14*},取出最小的8*和9构建子树,产生新节点17*,排序
17*
8* 9
3 5
{11, 14*, 17*},取出最小的11和14*构建子树,产生新节点25*,排序
25*
11 14*
6 8
{17*, 25*},取出最小的17*和25*构建子树,产生新节点42*此时全部构建完毕,整棵树如图
42* 0
17* 25* 1
8* 9 11 14* 2
3 5 6 8 3
右侧为该层深度,带权路径为所有的叶节点*深度的累加和
带权路径 = 0 * 0 + 1 * 0 + 2 * (9 + 11) + 3 * (3 + 5 + 6 + 8)= 106