• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

数据结构 –树的存储方式

开发技术 开发技术 7小时前 2次浏览

树的存储方式中最简单的一种是 一维数组链表结构(自己理解的)

数据结构 --树的存储方式

(图片来源:B站小甲鱼)

 

最左边一列代表的是数组的序号(下标) 中间A|B|C..代表内容 右一列代表父母节点 因为A无父母节点 所以A为-1

最右侧(貌似凌乱散布的)代表的是孩子节点的下标序号 

 

代码实现:

define MAX_size 100//定义数组最大容量

typedeft  char Elemtype;

//先定义孩子结构体

typedeft struct code{

         int  child;//孩子节点下标

         struct code *next;//孩子节点下一个指向

} *Childp;//定义孩子指针

//定义父母结构体

typedeft struct {

     Elemtype data;//存储a,b,c,d,等节点内容

     int num;//储存双亲的下标;

     Childp firstchild;//指向第一个孩子(直系)的指针

}  Parent;

//建立数组

typedeft struct {

      Parent node[MAX_SIZE];

      int r;//根的位置

      int n;//节点数

} Zong;

 /***********************************

代码理解:先建立孩子结构体 让后建立的父母结构体指针域有所指向

再建立父母结构体 (可以看成左侧三列中的某一行的建立)

最后建立数组结构存储内容(左侧三列全部内容放入)

 

********************************************/


程序员灯塔
转载请注明原文链接:数据结构 –树的存储方式
喜欢 (0)