#include<stdio.h> //Specular reflection of a tree
#include<string.h>
#include<stdlib.h>
#define MAX 100 //树的最大结点数
typedef struct node
{
char info;
int level; //记录结点所在的层数,便于控制输出树的镜面映射的广度优先遍历
struct node *left, *right;
}BT;
void BFS(BT *T) //BFS of the Binary Tree
{
BT *q[MAX], *p, *pa;
char stack[MAX];
int front = 0, rear = 0, top = 0;
if (!T) return;
q[rear++] = T;
T->level = 1;
while (front < rear) //将镜像映射之前的树的深度优先遍历结果存储在队列中,并记录每一个结点的层数
{
pa = q[front++];
// printf("%c %d\n", pa->info,pa->level);
p = pa->left;
while (p)
{
p->level = pa->level + 1;
q[rear++] =
DSOJ Specular reflection of a tree(树的镜面映射)
最新推荐文章于 2023-05-24 23:04:17 发布
本文详细探讨了DSOJ中的一道题目,涉及树的镜面映射问题。通过分析和解题过程,揭示了树结构在镜面映射算法中的应用。
摘要由CSDN通过智能技术生成