题目内容 (请给出正确答案)
[判断题]

利用栈可将递归程序转化成非递归程序。()

查看答案
如搜索结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能会需要:
您的账号:
发送账号密码至手机
发送
更多“利用栈可将递归程序转化成非递归程序。()”相关的问题

第1题

13、下列关于栈的叙述中,错误的是()。

A.采用非递归方式重写递归程序是必须使用栈。

B.函数调用时,系统要用栈保存必要的信息。

C.只要确定了入栈次序,即可确定出栈次序。

D.栈是一种受限的线性表,允许在其两端进行操作。

E.消除递归不一定需要使用栈。

F.进栈和出栈操作的算法时间复杂度均为 O(n)。

G.两个栈共享一片连续的内存空间时,为了提高内存利用率、减少溢出,应当把两个栈的栈底分别设置在整篇内存空间的两端。

点击查看答案

第2题

若PL/O编译程序运行时的存储分配策略采用栈式动态分配,并用动态链和静态链的方式分别解决递归
调用和非局部变量的引用问题,试写出下列程序执行到赋值语句b:=10时运行栈的局部示意图

若PL/O编译程序运行时的存储分配策略采用栈式动态分配,并用动态链和静态链的方式分别解决递归调用和非

若PL/O编译程序运行时的存储分配策略采用栈式动态分配,并用动态链和静态链的方式分别解决递归调用和非

点击查看答案

第3题

某语言允许过程嵌套定义和递归调用(如Pascal)语言,若在栈式动态存储分配中采用嵌套层次显示表d

某语言允许过程嵌套定义和递归调用(如Pascal)语言,若在栈式动态存储分配中采用嵌套层次显示表display解决对非局部变量的引用问题,试给出下列程序执行到语句“b:=10;时运行栈及display表的示意图。”

某语言允许过程嵌套定义和递归调用(如Pascal)语言,若在栈式动态存储分配中采用嵌套层次显示表d某

点击查看答案

第4题

阅读以下说明和C语言函数,将应填入(n)处的语句写在对应栏内。【说明】 本程序利用非递归算法实现二

阅读以下说明和C语言函数,将应填入(n)处的语句写在对应栏内。

【说明】

本程序利用非递归算法实现二叉树后序遍历。

【函数】

include<stdio.h>

include<stdlib.h>

typedef struct node{/*二叉树的结点数据结构类型*/

char data;

struct node *left;

struct node *right;

}BTREE;

void SortTreelnsert(BTREE **tree, BTREE *s)

{

if(*tree==NULL)*tree=s;

else

if(s->data<(*tree)->data)

SortTreelnsert((1),s);

else if(s->data>=(*tree)->data)

SortTreelnsert((2),s);

}

void TraversalTree(BTREE *tree)

{

BTREE *stack[1 000],*p;

int tag[1000],top=0;

p=tree;

do{

while(p !=NULL)

{

stack[++top]=p;

(3);

tag[top]=0; /*标记栈顶结点的左子树已进行过后序遍历*/

}

while(top>0&&(4))/*栈顶结点的右子树是否被后序遍历过*/

{

p=stack[top--];

putchar(p->data);

}

if(top>0)/*对栈顶结点的右子树进行后序遍历*/

{

(5);

tag[top]=1;

}

}while(top>0);

}

void PrintSortTree(BTREE *tree)

{

if(tree !=NULL)

{

printSortTree(tree->left);

putchar(tree->data);

pdntSortTree(tree->right);

}

}

main()

{

BTREE *root=NULL, *node;

char ch;

ch=getchar();

while(ch !='')

{

node=(BTREE*)malloc(sizeof(BTREE));

node->data=ch;

node->left=node->right=NULL;

SortTreelnsert(&root, node);

ch=getchar();

}

PrintSortTree(root);

putchar('\n');

TraversalTree(root);

}

点击查看答案

第5题

递归程序的优点是:简洁、直观、精炼 但缺点是:重复计算多,递归层数过深时函数调用开销大,时空效率低,易导致栈溢出
点击查看答案

第6题

已知Ackerman函数定义如下:(1)根据定义,写出它的递归求解算法;(2)利用栈,写出它的非递归求解
已知Ackerman函数定义如下:(1)根据定义,写出它的递归求解算法;(2)利用栈,写出它的非递归求解

已知Ackerman函数定义如下:

已知Ackerman函数定义如下:(1)根据定义,写出它的递归求解算法;(2)利用栈,写出它的非递归

(1)根据定义,写出它的递归求解算法;

(2)利用栈,写出它的非递归求解算法。

点击查看答案

第7题

下列那一个不是 栈 的应用()

A.递归调用

B.系统程序的作业调度

C.子程序调用

D.表达式求值

点击查看答案

第8题

在程序的执行过程中,系统用()实现嵌套调用(递归调用)函数的正确返回。

A.队列

B.优先队列

C.栈

D.散列表

点击查看答案

第9题

栈结构不适用于下列()应用。A)表达式求值B)递归过程实现C)二叉树对程序周游算法的实现D)树的层

栈结构不适用于下列()应用。

A)表达式求值

B)递归过程实现

C)二叉树对程序周游算法的实现

D)树的层次次序周游算法的实现

点击查看答案

第10题

二叉树以二叉链表存储,写出对二叉树进行先序遍历的非递归算法。 解题思路:二叉树的先序遍历非递归算法利用

二叉树以二叉链表存储,写出对二叉树进行先序遍历的非递归算法。

解题思路:二叉树的先序遍历非递归算法利用栈结构,从二又树的根结点开始,输出结点信息,同时将结点指针入栈,然后顺着左子树,依次将其左子树各个结点值输出,同时结点指针入栈,直到左子树为空;然后让栈顶指针出栈,接着处理右子树。

点击查看答案
发送账号至手机
密码将被重置
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改
温馨提示
每个试题只能免费做一次,如需多次做题,请购买搜题卡
立即购买
稍后再说
警告:系统检测到您的账号存在安全风险

为了保护您的账号安全,请在“赏学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!

微信搜一搜
赏学吧
点击打开微信
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反赏学吧购买须知被冻结。您可在“赏学吧”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
微信搜一搜
赏学吧
点击打开微信