树的存储结构-孩子链表

特点:找孩子容易,找双亲难
树的存储结构-孩子链表_第1张图片

代码如下:

#include 
using namespace std;
typedef char ElemType;
#define MAX_tree_size
//孩子结构
typedef struct CTNode
{
	int child;
	struct CTNode *next;
}*ChildPtr;
//双亲结点结构
typedef struct
{
	ElemType data;
	ChildPtr firstchild;
}CTBox;
//树结构
typedef struct
{
	CTBox nodes[MAX_tree_size];
	int n,r;
}CTree;

我们要如何解决找双亲难的问题呢?
可以牺牲空间,在双亲结点加一个位置,保存双亲位置。

树的存储结构-孩子链表_第2张图片

你可能感兴趣的:(数据结构和算法基础,链表,数据结构,二叉树,C++,树)