1、已知一颗二叉树按顺序存储结构进行存储,设计一个算法,求编号分别为i和j的两个结点的最近的公共祖先结点的值。
ElemType Comm_Ancestor(SqTree T,int i,int j){
if(T[i]!='#'&&T[j]!='#'){
while(i!=j){//结点存在
if(i>j)//两个编号不同时循环
i=i/2;//向上找i的祖先
else
j=j/2;//向下找j的祖先
}
return T[i];
}
}
1、已知一颗二叉树按顺序存储结构进行存储,设计一个算法,求编号分别为i和j的两个结点的最近的公共祖先结点的值。
ElemType Comm_Ancestor(SqTree T,int i,int j){
if(T[i]!='#'&&T[j]!='#'){
while(i!=j){//结点存在
if(i>j)//两个编号不同时循环
i=i/2;//向上找i的祖先
else
j=j/2;//向下找j的祖先
}
return T[i];
}
}