二叉链表存储结构,实现二叉树的遍历

来源:百度知道 编辑:UC知道 时间:2024/05/31 08:10:43
二叉树采用二叉链表存储结构,实现二叉树的建立、遍历(先序、中序、后序)、求结点总数、叶子数、度为1的结点数、度为2的结点数。
要求:1、设计思想(说明基本操作及问题实现的思想)
2、算法实现(加必要的注释)

前几天写的,输入二叉树的广义表形式,建立二叉树的链式存储。输出的是中序。有注释,看懂了应该其他的都能写了吧。#include<stdio.h>
#include<stdlib.h>
int n=0; //全局变量
struct tree //二叉树结构体
{
char data;
struct tree *lc;
struct tree *rc;
};
tree *creat(char a[]) //创建树的二叉树
{
tree *h;
h=(tree *)malloc(sizeof(tree));
h->lc=NULL;
h->rc=NULL;
if(a[n]!=')'&&a[n]!='('&&a[n]!=',') //当a[n]为字母存入a[]
{
h->data=a[n];
n++;
}
if(a[n]=='(') //a[n]为左括弧对h->lc递归操作
{
n++;
h->lc=creat(a);
}
if(a[n]==',') //a[n]为逗号对h->rc递归操作
{
n++;
h->rc=creat(a);
return h;
}
if(a[n]==')') //a[n]为右括弧返回h
{
n++;
return h;

设二叉树以二叉链表为存储结构,编写一个后续遍历二叉树的非递归算法 以二叉链表作为存储结构,是编写二叉树高度的算法? 采用二叉链表存储结构,按前根序输入二叉树的结点序列,建立二叉树并中根序遍历该二叉树,计算叶子节点的个数 以二叉链为存储结构,写一算法求二叉树的叶子结点个数 已知用二叉链表存储二叉树,判断两棵二叉树是否相等 二叉树 两种存储结构的优缺点 用C语言编写:建立一棵以二叉链表结构存储的二叉树,并对其进行遍历。求该二叉树中的结点个数等操作。 利用二叉链表作为存储结构建立一棵二叉树,每个结点中存放一种水果名(由键盘输入),结点数不少于5个。 sqlserver 存储二叉树 二叉树链接存储的问题?