自动计算哈夫曼树的带权路径长度

小灰灰 2022-12-29 06:35 365阅读 0赞

C语言自动计算哈夫曼树的带权路径长度:

  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. int cmp(const void *a,const void *b)
  4. {
  5. return *(int*)a-*(int *)b;
  6. }
  7. int main()
  8. {
  9. int n,W[1001];
  10. while(scanf("%d",&n)!=EOF) //n为权值个数
  11. {
  12. for(int i=1;i<=n;i++) //n个权值
  13. scanf("%d",&W[i]);
  14. int Result=0;
  15. for(int i=2;i<=n;i++){
  16. qsort(W+i-1,n-i+2,sizeof(W[0]),cmp); //C语言快速排序函数
  17. Result+=W[i]+W[i-1];
  18. W[i]=W[i]+W[i-1];
  19. }
  20. printf("%d\n",Result);
  21. }
  22. return 0;
  23. }

发表评论

表情:
评论列表 (有 0 条评论,365人围观)

还没有评论,来说两句吧...

相关阅读

    相关 路径长度

    最近刷题刷到了这一题,此题是北邮往年复试题,看了一些网上的讲解,大多数是方法比较复杂,有些巧妙的方法又往往却缺少解释,为了方便大家理解,给小伙伴们梳理梳理 题目描述: