2023年10月23日

数据结构代码练习,关于2020年851

1. 二叉树的层次遍历

//数据结构
typedef struct BiTree{
Datatype data;
struct BiTree *left, *right;
/*
添加代码 完成哈夫曼编码
int layer, weight;
*/
}TreeNode,*Bitree;
void leverodertraversal(BiTree T)
{
	if(T==NULL)
		return ;
	/*
添加代码 完成哈夫曼编码
int level=0;
int wpl=0;
*/
	queue<TreeNode*> q;
	q.push(T);
	while(!q.empty())
	{
		int n=q.size();
		/*
添加代码 完成哈夫曼编码
level++;
*/
		for(int i=0;i<n;i++)
		{
			TreeNode *s=q.front();
			/*
添加代码 完成哈夫曼编码
s.layer=level;
if(s->left==NULL&&s->right==NULL)
wpl=wpl+(level-1)*s.weight;
*/
			cout<<s->data<<" ";
			q.pop();
			if(s->left) q.push(s->left);
			if(s->right) q.push(s->right);
		}
		//cout<<"输出层数:"<<level;
	}
}
posted @ 2023-10-23 19:17  無碍  阅读(47)  评论(0)    收藏  举报