假设一棵树的存储结构采用双亲表示法,双亲指针数组为int parent[MaxSize],其中MaxSize表示双亲指针数组的最大结点个数。树中各个结点按先根遍历次序存放,根结点存于parent[0]

Posted Roam-G

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了假设一棵树的存储结构采用双亲表示法,双亲指针数组为int parent[MaxSize],其中MaxSize表示双亲指针数组的最大结点个数。树中各个结点按先根遍历次序存放,根结点存于parent[0]相关的知识,希望对你有一定的参考价值。

.

假设一棵树的存储结构采用双亲表示法,双亲指针数组为int parent[MaxSize],

 

其中MaxSize表示双亲指针数组的最大结点个数。

树中各个结点按先根遍历次序存放,根结点存于parent[0]。

试编写一个函数,计算p所指结点和q所指结点的最近公共祖先结点。

【解答】

这是一个二重循环。外层循环从结点 p向双亲方向循环,每变动一个结点,即对从结点 q到根的路径上各结点进行检测,遇到外层循环当前标定的结点即终止。此结点即为所求。

int CommonAncestry ( int parent[ ], int MaxSize, int p, int q ) 

   int i, j;

   for ( i = p; i != -1; i = parent[i] )

  for ( j = q; j != -1; j = parent[j] )

 if ( i == j ) return i;

 

 

以上是关于假设一棵树的存储结构采用双亲表示法,双亲指针数组为int parent[MaxSize],其中MaxSize表示双亲指针数组的最大结点个数。树中各个结点按先根遍历次序存放,根结点存于parent[0]的主要内容,如果未能解决你的问题,请参考以下文章

使用双亲指针表示法存储一棵树,可以方便解决下列哪个应用问题( )

树的介绍

树和森林

数据结构-王道2017-第4章 树与二叉树-树森林

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

数据结构--树森林