“ Ctrl AC!一起 AC!”
1.完全二叉树的顺序存储:
一个数组即可解决,i/2向下取整为其父结点,2*i,2*i+1为其左右孩子。
#define MAXSIZE 20
typedef char datatype;
datatype tree[MAXSIZE];
int n; //树中实际所含结点
2.一般二叉树的顺序存储:
#define MAXSIZE 20
typedef char datatype;
typedef struct{
datatype data;
int lchild,rchild; //存放左右孩子的下标
int parent; //存放双亲的下标,根据实际需求添加
}node;
node tree[MAXSIZE];
int n; //树中实际包含的结点
int root; //存放根结点的下标
3.二叉树的链式存储:
使用指针即可:
typedef char datatype;
typedef struct node{
datatype data;
struct node *lchild,*rchild;
struct node *parent; //根据需求添加
}bintnode;
typedef bintnode *bintree;
bintree root; //指向二叉树根结点的指针
感谢阅读!!!
“ Ctrl AC!一起 AC!”