哈夫曼树数学归纳法速证

看了下网上的做法,感觉都不太看得懂或者是有些繁琐,于是想了下自己的方法:

 

有n个数,记其中最小的两个值为x1、x2。

step1.证在最优解中最小的这两个数一定互为兄弟:若否,将路径长度小的那一个与大的那个的兄弟交换,显然权值减小,与是最优解矛盾。

step2.证n=3时的情况最优解应为 组合最小的两个再与第三个组合:略。

step3.证已知n=k时的最优解,则n=k+1时的最优解应为 将最小的两个数替换为值为x1+x2的一个数,由此得到k个数时的最优解,再将替换的那个数所在结点延伸出两个叶子结点,值分别为x1和x2:由step1,最小的两个数一定互为兄弟结点,则最优解一定可以表示成按上述方法形成的解。设由上述k个数形成的解的权值为W,则此时最后得到的k+1个数的解权值为W+x1+x2(因为延伸出叶子结点后路径+1)。即当W有最小值时,为最优解,也就是上述方法形成的解。

step4.数学归纳法:也就是从n=3开始一直递推下去,就得到任意n个数的解,证毕。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值