在设计解决递归问题的非递归算法时,大多数情况下都要用到()结构。
A堆栈
B队列
C树
D图
正确答案
答案解析
相似试题
(简答题)
什么是递归算法?通常情况下,递归算法在执行过程中需要借助何种数据结构?
(简答题)
已知非空二叉排序树采用二叉链表存储结构,链结点构造为,根结点指针为T。下面给出的是在该二叉排序树中查找数据信息为item的结点的非递归算法,若查找成功,则算法返回被查到结点所在链结点指针,否则,算法返回信息NULL。 请在算法中的空白处(横线上方)填入必要的内容,使得算法完整正确。
(简答题)
请写一非递归算法,对于任意给定的k值,该算法在长度为 n、且元素按值严格递增排列的顺序表A[1..n]中采用折半查找法查找值不大于k的最大元素,若表中存在这样的元素,则算法返回该元素在表中的位置,否则,算法返回信息0。(假设表中元素分别为一个正整数) 例如,对于顺序表A[1..10]=(2, 4, 6, 8, 10, 12, 14, 16, 18, 20), 当k=8时,满足条件的元素为8,返回位置4; 当k=13时,满足条件的元素为12,返回位置6; 当k=1时,无满足条件的元素,返回信息0。
(简答题)
已知对二叉排序树进行中序遍历可以得到该二叉树所有结点组成的按值从小到大排列的中序序 列。若二叉树采用二叉链表存储结构,链结点构造为, 根结点指针为T,请写一非递归算法,判断该二叉树是否为二叉排序树。若是二叉排序树,算法返回1,否则,算法返回0。
(简答题)
已知长度为n的非空顺序表A[0..n-1],请写一算法,该算法删除表中重复出现的数据元素。
(填空题)
在详细设计阶段,除了对模块内的算法进行设计,还应对模块内的()进行设在详细设计阶段,除了对模块内的算法进行设计,还应对模块内的()进行设
(简答题)
下列算法的功能是在由list所指的非空线性链表的第i个结点(假设链表中存在第i个结点,且i≥1)后面插入一个由p指的结点。 请在算法的空白处(横线上方)填上必要的内容,使算法完整。
(简答题)
请写出下列递归算法的功能。 typedef struct node{ datatype data; struct node *link; } *LinkList; int ALGORISM(LinkList list) { if(list==NULL) return 0; else return 1+ALGORISM(list->link); }
(单选题)
设计V带传动时发现V带根数过多,可采用()解决。