最大密度:二叉树节点数值的最大值
如果没有输出结果,一定是建树错误!!!!!!!
我设置输入的是字符型数据,比较的ASCII值。
输入:FBE###CE###
输出:F
树形:
#include "bits/stdc++.h"
using namespace std;
typedef struct BiTNode{char data;struct BiTNode *lchild,*rchild;int tag;
}BiTNode,*BiTree;void createTree(BiTree &t){char ch;ch=getchar();if (ch=='#') t=NULL;else{t=(BiTNode *) malloc(sizeof (BiTNode));t->data=ch;t->tag=0;t->lchild=NULL;t->rchild=NULL;createTree(t->lchild);createTree(t->rchild);}
}
int btDepth(BiTree t){char q;if (!t)return 0;int front=-1,rear=-1;BiTree Q[100];Q[++rear]=t;q=t->data;BiTree p;while (front<rear){p=Q[++front];if (q<p->data)q=p->data;if (p->lchild)Q[++rear]=p->lchild;if (p->rchild)Q[++rear]=p->rchild;}return q;
}
int main() {BiTree t;createTree(t);printf("%c", btDepth(t));
}