注意:此页面搜索的是所有试题
国家开放大学数据结构复习题
表达式a*(b+c)-d的后缀表达式是( )。+++
A.abcd*+- B.abc+*d- C.abc*++d- D.-+*abcd
判断一个顺序队列sq(最多元素为m)为空的条件是( )。
A.sq->rear-sq->front== m B.sq->rear-sq->front-1= = m
C.sq->front==sq->rear D.sq->front==sq->rear+1
判断一个循环队列Q(最多元素为m)为满的条件是( )。
A.Q->front==Q->rear B.Q->front!=Q->rear
C.Q->front==(Q->rear+1)% m D.Q->front!= (Q->rear+1)% m
判断栈s满(元素个数最多n个)的条件是( )。
A.s->top==0 B.s->top!=0
C.s->top==n-1 D.s->top!=n-1
一个队列的入队顺序是a,b,c,d,则离队的顺序是( )。
A.a,d,cb B.a,b,c,d C.d,c,b,a D.c,b,d,a
如果以链表作为栈的存储结构,则退栈操作时( )。
A.必须判断栈是否满 B.判断栈元素类型
C.必须判断栈是否空 D.对栈不作任何判断
在解决计算机主机与打印机之间速度不匹配问题时通常设置一个打印数据缓冲区,主机将要输出的数据依次写入缓冲区中,而打印机则从缓冲区中取出数据打印,该缓冲区应该是一个( )结构。
A.堆栈 B.队列 C.数组 D.先性表
一个递归算法必须包括( )。
A.递归部分 B.终止条件和递归部分
C.迭代部分 D.终止条件和迭代部分
从一个栈顶指针为top的链栈中删除一个结点时,用变量x保存被删结点的值,则执行( )。
A.x=top->data; top=top->next; B.x=top->data;
C.top=top->next; x=top->data; D.top=top->next; x=data;
在一个链队中,假设f和r分别为队头和队尾指针,则删除一个结点的运算为( )。
A.r=f->next; B.r=r->next; C.f=f->next; D.f=r->next;
在一个链队中,假设f和r分别为队头和队尾指针,则插入s所指结点的运算为( )。
A.f->next=s; f=s; B.r->next=s;r=s;
C.s->next=r;r=s; D.s->next=f;f=s;
在一个不带头结点的链队中,假设f和r分别为队头和队尾指针,则从该对列中删除一个结点并把结点的值保存在变量x中的运算为( )。+++
A.x=r->data;r=r->next; B.r=r->next; x=r->data
C.x=f->data;f=f->next; D.f=f->next; x=f->data
栈和队列的共同特点是( )。
A.都是先进后出 B.元素都可以随机进出
C.只容许在端点处插入和删除元素 D.都是先进先出
栈的插入和删除操作在( )进行。
A.栈顶 B.栈底
C.任意位置 D.指定位置
在一个顺序队列中,队首指针指向队首元素的( )位置。
A.前一个 B.后一个
C.当前 D.后面
A.abcd*+- B.abc+*d- C.abc*++d- D.-+*abcd
判断一个顺序队列sq(最多元素为m)为空的条件是( )。
A.sq->rear-sq->front== m B.sq->rear-sq->front-1= = m
C.sq->front==sq->rear D.sq->front==sq->rear+1
判断一个循环队列Q(最多元素为m)为满的条件是( )。
A.Q->front==Q->rear B.Q->front!=Q->rear
C.Q->front==(Q->rear+1)% m D.Q->front!= (Q->rear+1)% m
判断栈s满(元素个数最多n个)的条件是( )。
A.s->top==0 B.s->top!=0
C.s->top==n-1 D.s->top!=n-1
一个队列的入队顺序是a,b,c,d,则离队的顺序是( )。
A.a,d,cb B.a,b,c,d C.d,c,b,a D.c,b,d,a
如果以链表作为栈的存储结构,则退栈操作时( )。
A.必须判断栈是否满 B.判断栈元素类型
C.必须判断栈是否空 D.对栈不作任何判断
在解决计算机主机与打印机之间速度不匹配问题时通常设置一个打印数据缓冲区,主机将要输出的数据依次写入缓冲区中,而打印机则从缓冲区中取出数据打印,该缓冲区应该是一个( )结构。
A.堆栈 B.队列 C.数组 D.先性表
一个递归算法必须包括( )。
A.递归部分 B.终止条件和递归部分
C.迭代部分 D.终止条件和迭代部分
从一个栈顶指针为top的链栈中删除一个结点时,用变量x保存被删结点的值,则执行( )。
A.x=top->data; top=top->next; B.x=top->data;
C.top=top->next; x=top->data; D.top=top->next; x=data;
在一个链队中,假设f和r分别为队头和队尾指针,则删除一个结点的运算为( )。
A.r=f->next; B.r=r->next; C.f=f->next; D.f=r->next;
在一个链队中,假设f和r分别为队头和队尾指针,则插入s所指结点的运算为( )。
A.f->next=s; f=s; B.r->next=s;r=s;
C.s->next=r;r=s; D.s->next=f;f=s;
在一个不带头结点的链队中,假设f和r分别为队头和队尾指针,则从该对列中删除一个结点并把结点的值保存在变量x中的运算为( )。+++
A.x=r->data;r=r->next; B.r=r->next; x=r->data
C.x=f->data;f=f->next; D.f=f->next; x=f->data
栈和队列的共同特点是( )。
A.都是先进后出 B.元素都可以随机进出
C.只容许在端点处插入和删除元素 D.都是先进先出
栈的插入和删除操作在( )进行。
A.栈顶 B.栈底
C.任意位置 D.指定位置
在一个顺序队列中,队首指针指向队首元素的( )位置。
A.前一个 B.后一个
C.当前 D.后面