【正确答案】正确答案:由指示结点i左儿子和右儿子的两个一维数组L[i]和R[i],建立指示结点i的双亲的一维数组T[i],根据T数组,判断结点U是否是结点V后代的算法,转为判断结点V是否是结点U的祖先的问题。核心语句段如下: for(i=i ; i<=N; i++)T[i]=0; //T数组初始化 for(i=1;i<=N;i++) if(L[i]!=0)T[L[i\]\]=i ; //结点i的左子女是L,则结点L的双亲是结点i for(i=1,i<=N;i++) if(R Ci]!=0)T[R[i\]\]=i ; //i的右子女是r,则r的双亲是i int parent=U; //判断U是否是v的后代 while(parent!=V&&parent!=0)parent=T[parent]; if(parent==V){cout<<“结点U是结点v的后代“<
【答案解析】