首页
题库
网课
在线模考
桌面端
登录
搜标题
搜题干
搜选项
0
/ 200字
搜索
问答题
设有一个n×n的上三角矩阵(a
ij
),将其上三角中的元素按先行后列的顺序存于数组B[m]中,使得B[k]=a
ij
且k=f
1
(i)f
2
(j)+c,请推导出函数f
1
、f
2
和常数c,要求f
1
和f
2
中不含常数项。
答案:
正确答案:上三角矩阵第1行有n个元素,第i一1行有n一(i一1)+1个元素,第1行到第i—1行是等腰梯形,而第i行上第j...
点击查看完整答案
在线练习
手机看题
你可能感兴趣的试题
问答题
简述栈、队列、循环队列的定义。
答案:
正确答案:(1)栈是只准在一端进行插入和删除操作的线性表,允许插入和删除的一端叫栈顶,另一端叫栈底。最后插入的元素最先删...
点击查看完整答案
手机看题
问答题
假设以I和O分别表示入栈和出栈操作,则对初态和终态均为空的栈操作可由I和O组成的序列表示。 (1)试指出判别给定序列是否合法的一般规则。 (2)两个不同合法序列(对同一输入序列)能否得到相同的输出元素序列如能得到,请举例说明。
答案:
正确答案:(1)通常有两条规则。第一是给定序列中I的个数和O的个数相等;第二是从给定序列的开始,到给定序列中的任一位置,...
点击查看完整答案
手机看题
问答题
有5个元素,其入栈次序为A,B,C,D,E,在各种可能的出栈次序中,以元素C,D最先出栈(即C第一个且D第二个出栈)的次序有哪几个
答案:
正确答案:3个:C,D,E,B,A;C,D,B,E,A;C,D,B,A,E。 提示:此题考查的知识点是栈的后进先出特点。...
点击查看完整答案
手机看题
问答题
为了增加内存空间的利用率和减少溢出的可能性,通常采用两个栈利用同一块存储空间的方法。通常两个栈的栈底设在内存空间的两端,而栈顶相向,迎面增长。已知有两个栈s1、s2都采用顺序栈方式,并且共享一个存储区[0~maxsize—1]。 设计共享存储空间的两个栈s1、s2的入栈和出栈算法。要求: (1)给出算法的基本设计思想。 (2)根据设计思想,采用C或C++或Java语言描述算法,关键之处给出注释;
答案:
正确答案:(1)栈sl、s2共享向量空间,将两栈栈底设在向量两端。初始时,s1栈顶指针为一1,s2栈顶为maxsize。...
点击查看完整答案
手机看题
问答题
一个n×n的对称矩阵,如果以行或列为主序存入内存,则其容量为多少
答案:
正确答案:n(n+1)/2(压缩存储)或n
2
(不采用压缩存储)。 提示:此问题考查的知识点是数组的...
点击查看完整答案
手机看题
问答题
设有一个n×n的上三角矩阵(a
ij
),将其上三角中的元素按先行后列的顺序存于数组B[m]中,使得B[k]=a
ij
且k=f
1
(i)f
2
(j)+c,请推导出函数f
1
、f
2
和常数c,要求f
1
和f
2
中不含常数项。
答案:
正确答案:上三角矩阵第1行有n个元素,第i一1行有n一(i一1)+1个元素,第1行到第i—1行是等腰梯形,而第i行上第j...
点击查看完整答案
手机看题
问答题
已知有一整数序列{a
1
,a
2
,a
3
,…,a
n
}。栈A中只保存整数,即序列中元素为整数时允许其入栈。设计一个算法实现如下功能:用栈结构存储入栈的整数,当a
i
≠一1时,将a
i
进栈;当a
i
=一1时,输出栈顶整数并出栈。
答案:
正确答案:#define maxsize //栈空间容量 void InOutS(int S[maxsize]){ in...
点击查看完整答案
手机看题
问答题
设结点结构为(data,link),试用一个全局指针p和某种链接结构实现一个队列,画出示意图,并给出入队addq和出队deleq过程,要求它们的时间复杂性都是O(1)(不计new和dispose时间)。
答案:
正确答案:本题要求用链接结构实现一个队列,可用链表结构来实现。一般说,由于队列的先进先出性质,所以队列常设队头指针和队尾...
点击查看完整答案
手机看题
问答题
判断括号是否匹配是栈的主要应用之一。设字符表达式存储在数组E[n]中,‘#’为字符表达式的结束符。给出一个算法,用于判断表达式中括号(’(’和’)’)是否配对。要求:(1)给出算法的基本设计思想。(2)根据设计思想,采用C或C++或Java语言描述算法,关键之处给出注释。
答案:
正确答案:(1)算法的基本思想:判断表达式中括号是否匹配,可通过栈,简单说是左括号时进栈,右括号时退栈。退栈时,若栈顶元...
点击查看完整答案
手机看题
问答题
从键盘上输入一个逆波兰表达式,用伪码写出其求值程序。规定:逆波兰表达式的长度不超过一行,以$符作为输入结束,操作数之间用空格分隔,操作符只可能有+、一、*、/四种运算,例如:234—34+2*$。
答案:
正确答案:逆波兰表达式(即后缀表达式)求值规则如下:设立运算数栈OPND,对表达式从左到右扫描(读入),当表达式中扫描到...
点击查看完整答案
手机看题
问答题
假设以I和O分别表示入栈和出栈操作。栈的初态和终态均为空,入栈和出栈的操作序列可表示为仅由I和O组成的序列,称可以操作的序列为合法序列,否则称为非法序列。 (1)下面所示的序列中哪些是合法的 A.IOIIOIOO B.IOOIOIIO C.IIIOIOIO D.IIIOOIOO (2)通过对(1)的分析,写出一个算法,判定所给的操作序列是否合法。若合法,返回true,否则返回false(假定被判定的操作序列已存入一维数组中)。
答案:
正确答案:(1)A和D是合法序列,B和C是非法序列。 (2)设被判定的操作序列已存入一维数组A中。 int Judge(...
点击查看完整答案
手机看题
问答题
设计一个算法,判断一个算术表达式中的括号是否配对。算术表达式保存在带头结点的单循环链表中,每个结点有两个域:ch和link,其中ch域为字符类型。
答案:
正确答案:表达式中的括号有以下三对:’(’、’)’、’[’、’]、’{’、’}’,使用栈,当为左括号时入栈,右括号时,若...
点击查看完整答案
手机看题
问答题
请利用两个栈s1和s2来模拟一个队列。已知栈的三个运算定义如下: (1)push(st,x):元素x入st栈: (2)pop(st,x):st栈顶元素出栈,赋给变量x; (3)sempty(st):判st栈是否为空。 那么如何利用栈的运算来实现该队列的三个运算: (1)enqueue:插入一个元素入队列; (2)dequeue:删除一个元素出队列: (3)queue_empty:判队列为空。(请写明算法的思想及必要的注释。)
答案:
正确答案:栈的特点是后进先出,队列的特点是先进先出。所以,用两个栈s1和s2模拟一个队列时,s1作输入栈,逐个元素压栈,...
点击查看完整答案
手机看题
微信扫码免费搜题