Advertisement

计算二叉树的WPL

阅读量:

WPL:即所有叶子节点所携带权重与其路径长度乘积的总和。

思路:

采用递归的方式,结合先序遍历的结构进行处理。

代码:

复制代码
 int WPL=0;

    
 int preOrder(BTNode *root,int level){//先序遍历框架
    
 	if(root){
    
 		if(root->left==NULL&&root->right==NULL)//如果是叶结点,累计WPL
    
 			WPL+=level*root->weight;
    
 		if(root->left!=NULL)
    
 			preOrder(root->left,level+1);
    
 		if(root->right!=NULL)
    
 			preOrder(root->right,level+1);
    
 		
    
 	}
    
 	return WPL;
    
 }
    
    
    
    
复制代码
 #include<stdio.h>

    
 #include <stdlib.h>
    
 #include<math.h>	//数学函数,求平方根、三角函数、对数函数、指数函数...
    
  
    
 #define MAXSIZE 100
    
  

全部评论 (0)

还没有任何评论哟~