设二叉树采用二叉链表存储,根用指针root指示。其中,树结点的设计为: struct node { Node *left , *right ; int data; }; 请设计一个算法,统计二叉树中所有结点元素值data的总和,要求: (1)阐述算法的基本设计思想。 (2)根据设计思想,采用程序设计语言描述算法(C或C++或python语言实现),关键之处请给出简要注释。 <tex>C++</tex>
时间: 2023-03-16 10:44:11 浏览: 89
设两棵二叉树的根结点地址分别为P及Q,采用二叉链表的形式存储这二棵树上所有的结点。请编写程序,判断它们是否相似。
算法的基本设计思想:采用递归的方法,从根结点开始,统计所有结点元素值data的总和。C语言实现:
int SumData (Node *root)
{
if (root == NULL)
return 0;
else
return root->data + SumData(root->left) + SumData(root->right);
} //给出简要注释:从根结点开始,递归地统计所有结点元素值data的总和。
阅读全文