问答题 已知深度为h的二叉树采用顺序存储结构已存放于数组BT[1:2 h 一1】中,请写一非递归算法,产生该二叉树的二叉链表结构。设二叉链表中链结点的构造为(1child,data,rchild),根结点所在链结点的指针由T给出。【北京师范大学2005六、3(15分)】【北京航空航天大学1999七(15分)】
【正确答案】正确答案:设栈S,元素结构是(int hum,BiTree bt),初始调用num=1;设n=2 n -1。 top=1;S[1]={1,bt}; while(i<=n&&top>0) {j=s[top].num;t=S[top一一].bt; if(BT[j]!=‘#’11#是虚结点 {t=new(BiNode);t->data=BT[j]; if(BT[j*2+1]!=‘#’) S[++top]={j*2+1,bt一>rchild); i=2*j; } }
【答案解析】