文章
24
粉丝
0
获赞
0
访问
2.4k
1.先序遍历二叉树,在遇到叶结点时,乘以当前结点的路径长度,累加起来,就是wpl值
2.typedef struct BiTreeNode{
int weight;
struct BiTree *right;
struct BiTree *left;
}BiTreenode,*BiTree;
3.int WPL( BTreeNode,*root){
return computer(root,0);
int computer(BTreeNode *Node ,int depth){ //定义计算深度函数
if (root==0){ //如果只有根结点
return 0;
}
if(node->left==NULL && node->right ==NULL){ //如果是叶结点
return node->weight *depth;
}
return computeWPL(node->left,depth+1)+computeWPL(node->right,depth+1); //非叶节点 ,递归左右子树
}
评分及理由
(1)得分及理由(满分3分)
得分:2分
理由:学生给出了基本正确的先序遍历思想,提到了"遇到叶结点时乘以当前路径长度累加"的核心思路。但没有明确说明递归过程中深度参数如何传递(深度+1),也没有说明非叶子结点的处理方式。设计思想描述不够完整和严谨。
(2)得分及理由(满分4分)
得分:2分
理由:数据类型定义基本正确,但存在以下问题: - 结构体名称不一致(BiTreeNode vs BiTreenode) - 指针类型错误(struct BiTree *right 应为 struct BiTreeNode *right) - 缺少分...
登录后发布评论
暂无评论,来抢沙发