题目内容
(请给出正确答案)
[主观题]
将递归算法转换成对应的非递归算法时,除了单向递归和尾递归的情况外,通常需要使用()保存中间结果。
将递归算法转换成对应的非递归算法时,除了单向递归和尾递归的情况外,通常需要使用()保存中间结果。
A、链表
B、栈
C、队列
D、顺序表
查看答案
如果结果不匹配,请 联系老师 获取答案
A、链表
B、栈
C、队列
D、顺序表
有中序线索树T,结点形式为:(LL,LT, D,RT,RL),试编写非递归算法找到数据域为A的结点,并在其左子树中插入值为Q的已知新结点X:
注意:可能A有左孩子或无左孩子,插入后考虑线索的状态应作何修改。【上海大学1998六(1 7分)】
已知一个二叉树如下图(编者略),修改结点(node)的连接方式,以致可以不借助辅助堆栈实现中序遍历的非递归方法。画出修改后的结点连接图并写出其实现中序遍历的非递归算法。【浙江大学2002五(10分)】
8行上布放棋子。在每一行中有8个可选择位置,但在任一时刻,棋盘的合法布局都必须满足3个限制条件,即任何两个棋子不得放在棋盘上的同一行、或者同一列、或者同一斜线上。试编写一个递归算法,求解并输出此问题的所有合法布局。(提示:用回溯法。在第n行第j列安放一个棋子时,需要记录在行方向、列方向、正斜线方向、反斜线方向的安放状态,若当前布局合法,可向下一行递归求解,否则可移走这个棋子,恢复安放该棋子前的状态,试探本行的第j+1列)