文章标题
来源:互联网 发布:程序员个人简历范文 编辑:程序博客网 时间:2024/06/11 22:55
typedef struct Node
{
//定义二叉树
char data;
struct Node * LChild;
struct Node * RChild;
}BiTNode, *BiTree;
void CreateBiTree(BiTree * bt)
{
//先序便利创建二叉链表
char ch;
ch=getchar();
if(ch==’.’)
*bt=NULL;
else
{
* bt = (BiTree)malloc(sizeof(BiTNode));
(* bt)->data=ch;
CreateBiTree(&((*bt)->LChild));
CreateBiTree(&((*bt)->RChild));
}
}
void PreOrder(BiTree root)
/* 先序遍历输出二叉树结点, root为指向二叉树根结点的指针 */
{
if (root!=NULL)
{
printf(” %c “,root->data); /* 输出根结点 */
PreOrder(root ->LChild); /* 先序遍历左子树 */
PreOrder(root ->RChild); /* 先序遍历右子树 */
}
}
void InOrder(BiTree root)
/* 先序遍历输出二叉树结点, root为指向二叉树根结点的指针 */
{
if (root!=NULL)
{
/* 输出根结点 */
PreOrder(root ->LChild);
printf(” %c “,root->data); /* 先序遍历左子树 */
PreOrder(root ->RChild); /* 先序遍历右子树 */
}
}
void PostOrder(BiTree root)
/* 先序遍历输出二叉树结点, root为指向二叉树根结点的指针 */
{
if (root!=NULL)
{
/* 输出根结点 */
PreOrder(root ->LChild); /* 先序遍历左子树 */
PreOrder(root ->RChild); /* 先序遍历右子树 */
printf(” %c “,root->data);
}
}
void PreOrders(BiTree root)
/* 先序遍历输出二叉树中的叶子结点 , root为指向二叉树根结点的指针 */
{
if (root!=NULL)
{
if (root ->LChild==NULL && root ->RChild==NULL)
printf(” %c “,root->data); /* 输出叶子结点 */
PreOrder(root ->LChild); /* 先序遍历左子树 */
PreOrder(root ->RChild); /* 先序遍历右子树 */
}
}
int leaf(BiTree root)
{
int LeafCount;
if(root==NULL)
LeafCount =0;
else if((root->LChild==NULL)&&(root->RChild==NULL))
LeafCount =1;
else /* 叶子数为左右子树的叶子数目之和 */
LeafCount =leaf(root->LChild)+leaf(root->RChild);
return LeafCount;
}
int PostTreeDepth(BiTree bt) /* 后序遍历求二叉树bt高度的递归算法 */
{
int hl, hr, max;
if(bt!=NULL)
{
hl=PostTreeDepth(bt->LChild); /* 求左子树的深度 */
hr=PostTreeDepth(bt->RChild); /* 求右子树的深度 */
max=hl>hr?hl:hr; /* 得到左、右子树深度较大者*/
return(max+1); /* 返回树的深度 */
}
else return(0); /* 如果是空树,则返回0 */
}
void PrintTree(BiTree bt ,int nLayer)
{
//树状输出
int i;
if(bt== NULL) return;
PrintTree(bt->RChild,nLayer+1);
for(i; i
- 文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题 文章标题 文章标题 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 用switch 输出成绩的分布
- github学习()
- 标准算法整理ΙΙ
- 有两队选手每队5人进行一对一的比赛,甲队为A、B、C、D、E,乙队为J、K、L、M、N,经过抽签决定比赛对手名单。规定A不和J比赛, M不和D及E比赛。列出所有可能的比赛名单。 提示:先固定甲队,A在
- hdoj-2097Sky数(进制转换)
- 文章标题
- vue设置请求时的header
- 我使用过的Linux命令之sftp
- 文章标题
- 7.3 异常类
- VIM/VI
- spring boot本地事物管理和分布式事物管理(五)
- linux 用户权限设置示例
- Thinkphp的list_to_tree 实现无限级分类列出所有节点