问答题 试编写一算法对二叉树按前序线索化。【东南大学1999六(1 5分)】
【正确答案】正确答案:线索化是在遍历中完成的,因此,对于二叉树进行前序、中序、后序遍历,在“访问根结点”处进行加线索的改造,就可实现前序、中序和后序的线索化。核心语句段如下: if(BT!=null)//BT是二叉树指针,pre是全局变量,初值为null {if(BT一>ichild==null){BT一>Itag=l;BT一>ichild=pre;} //设置左线索 if(pre!=null&&pre一>rtag==1)pre一>rchild=BT; //设置前驱的右线索 if(BT一>rchild==null)BT一>rtag=l; //为建立右链作准备 pre=BT;//煎驱后移 if(BT一>itag==0)preOrderThreat(BT一>ichild); //左子树前序线索化 preorderThreat(BT一>rchild); //右子树前序线索化 }
【答案解析】