1、国开作业数据结构本形考作业 29题目:一个顺序栈一旦被声明,其占用空间的大小( )。选项A:动态变化选项B:已固定选项C:可以改变选项D:不能固定答案:已固定题目:链栈和顺序栈相比,有一个比较明显的缺点,即( )。选项A:不会出现栈空的情况选项B:通常不会出现栈满的情况选项C:删除操作更加方便选项D:插入操作更加方便答案:通常不会出现栈满的情况题目:用单链表表示的链式队列的队头在链表的( )位置。选项A:链尾选项B:链中选项C:任意位置选项D:链头答案:链头题目:在解决计算机主机与打印机之间速度不匹配问题时通常设置一个打印数据缓冲区,主机将要输出的数据依次写入缓冲区中,而打印机则从缓冲区中取出
2、数据打印,该缓冲区应该是一个( )结构。选项A:线性表选项B:堆栈选项C:队列选项D:数组答案:队列题目:循环队列Am 存放其元素,用front和rear分别表示队头及队尾,则循环队列满的条件是( )。选项A:(rear=front选项B:(rear =front+1选项C:(rear+1)%m-1=front选项D:(rear+1)%m=front答案:(rear+1)%m=front题目:在一个栈顶指针为top的链栈中,将一个p指针所指的结点入栈,应执行( )。选项A:p-next=top-next; top-next=p;选项B:p-next=top; top=p;选项C:top-nex
3、t=p;选项D:p-next=top-next; top=top-next;答案:p-next=top; top=p;题目:在一个栈顶指针为top的链栈中删除一个结点时,用 x保存被删结点的值,则执行( )。选项A:x=top;top=top-next;选项B:x=top-data;选项C:top=top-next; x=top-data;选项D:x=top-data; top=top-next;答案:x=top-data; top=top-next;题目:在一个链队中,设front和rear分别为队首和队尾指针,则插入p所指结点时,应执行( )。选项A:p-next=front;front=
4、p;选项B:rear-next=p;rear=p;选项C:p-next=rear;rear=p;选项D:front-next=p;front=p;答案:rear-next=p;rear=p;题目:在链队列中,f和r分别为队头和队尾指针,要把s所指结点入队,应执行( )。选项A:r-next=s;r=s;选项B:r-next=s;选项C:r-next=s- next;选项D:r-next=s- next; r=s;答案:r-next=s;r=s;题目:设top是一个链栈的栈顶指针,栈中每个结点由一个数据域data和指针域next组成,设用x接收栈顶元素,则取栈顶元素的操作为( )。选项A:x=t
5、op-data;top= top-next;选项B:top-data=x;选项C:x=top-data;选项D:top=top-next;答案:x=top-data;题目:一个队列的入队序列是2,4,6,8,则队列的输出序列是( )。选项A:4,2,8,6选项B:6,4,2,8选项C:2,4,6,8选项D:8,6,4,2答案:2,4,6,8题目:一个栈的进栈序列是5,6,7,8,则栈的不可能的出栈序列是( )。(进出栈操作可以交替进行)选项A:8,7,6,5选项B:5,8,6,7选项C:7,6,5,8选项D:7,6,8,5答案:5,8,6,7题目:栈的插入删除操作在( )进行。选项A:指定位置
6、选项B:栈底选项C:任意位置选项D:栈顶答案:栈顶题目:栈和队列的相同点是( )。选项A:都是后进先出选项B:都是后进后出选项C:逻辑结构与线性表相同,都是操作规则受到限制的线性表选项D:逻辑结构与线性表不同答案:逻辑结构与线性表相同,都是操作规则受到限制的线性表题目:以下说法正确的是( )。选项A:栈和队列的特点都是先进后出选项B:栈的特点是先进先出,队列的特点是先进后出选项C:栈和队列的特点都是先进先出选项D:栈的特点是先进后出,队列的特点是先进先出答案:栈的特点是先进后出,队列的特点是先进先出题目:设有一个带头结点的链队列,队列中每个结点由一个数据域data和指针域next组成,fron
7、t和rear分别为链队列的头指针和尾指针。设p指向要入队的新结点(该结点已被赋值),则入队操作为( )。选项A:rear-next=p;p = rear;选项B:rear=p;rear-next=p;选项C:rear-next=p;rear=p;选项D:p =rear-next;rear=p;答案:rear-next=p;rear=p;题目:设有一个带头结点的链队列,队列中每个结点由一个数据域data和指针域next组成,front和rear分别为链队列的头指针和尾指针,要执行出队操作,用x保存出队元素的值,p为指向结点类型的指针,可执行如下操作:p=front-next;x=p-data;然
8、后指行( )。选项A:front-next =p;选项B:front=p;选项C:front-next=p-next;选项D:front=p-next;答案:front-next=p-next;题目:以下说法不正确的是( )。选项A:顺序队列中,队列的头指针和尾指针均超越队列存储空间的上界,则队列已空选项B:顺序队列中,当尾指针已经超越队列存储空间的上界,则一定是队列已满选项C:顺序栈中,栈满时再进行进栈操作称为“上溢”选项D:顺序栈中,栈空时再作出栈栈操作称为“下溢”答案:顺序队列中,当尾指针已经超越队列存储空间的上界,则一定是队列已满题目:一个递归算法必须包括( )。选项A:递归部分选项B
9、:终止条件和迭代部分选项C:终止条件和递归部分选项D:迭代部分答案:终止条件和递归部分题目:假定一个链式队列的队头和队尾指针分别为front和rear,则判断队空的条件为( )。选项A:front=rear选项B:front!=NULL选项C:front=NULL选项D:rear!=NULL答案:front=rear题目:向顺序栈中压入新元素时,应当( )。选项A:同时进行选项B:应当先移动栈顶指针,再存入元素选项C:先后次序无关紧要选项D:先存入元素,再移动栈顶指针答案:应当先移动栈顶指针,再存入元素题目:判断一个循环队列Q(最多元素为m)为满的条件是( )。选项A:Q-front=Q-re
10、ar+1选项B:Q-rear!=(Q-front+1)%m选项C:Q-front=(Q-rear+1)%m选项D:Q-front=Q-rear答案:Q-front=(Q-rear+1)%m题目:判断栈满(元素个数最多n个)的条件是( )。选项A:top=-1选项B:top!=0选项C:top=0选项D:top=n-1答案:top=-1题目:队列的删除操作是在( )。选项A:队尾选项B:队后选项C:队头选项D:队前答案:队前题目:一个队列的入队序列是a,b,c,d,按该队列的可能输出序列使各元素依次入栈,该栈的可能输出序列是 ( )。(进栈出栈可以交替进行)。选项A:d,b,a,c选项B:c,a
11、,b,d选项C:d,a,b,c选项D:d,c,b,a答案:d,c,b,a 题目:线性表的顺序存储比链式存储最与利于进行( )操作。选项A:查找选项B:表尾插入或删除选项C:按值插入或删除选项D:表头插入或删除答案:表尾插入或删除题目:链表不具备的特点是( )。选项A:可随机访问任一结点选项B:插入、删除不需要移动元素选项C:不必事先估计存储空间选项D:所需空间与其长度成正比答案:可随机访问任一结点题目:向一个有127个元素的顺序表中插入一个新元素,并保持原来的顺序不变,平均要移动( )个元素。选项A:8选项B:63.5选项C:63选项D:7答案:63.5题目:在一个长度为n的顺序存储线性表中,
12、向第i个元素(1in)之前插入一个新元素时,需要依次后移( )个元素。选项A:n-i+1选项B:n-i选项C:n-i-1选项D:i答案:n-i+1题目:在一个长度为n的顺序存储线性表中,删除第i个元素(1in),需要前移( )个元素。选项A:i选项B:n-i选项C:n-i-1选项D:n-i+1答案:n-i题目:一个顺序存储线性表的第一个元素的存储地址是90,每个元素的长度是2,则第6个元素的存储地址是( )。选项A:106选项B:98选项C:102选项D:100答案:100题目:用链表表示线性表的优点是( )。选项A:花费的存储空间较顺序存储少选项B:便于随机存取选项C:数据元素的物理顺序和逻
13、辑顺序相同选项D:便于插入和删除答案:便于插入和删除题目:带头结点的链表为空的判断条件是( )(设头指针为head)。选项A:head-next=NULL选项B:head-next=head选项C:head=NULL选项D:head!=NULL答案:head-next=NULL 题目:非空的单向循环链表的尾结点满足( )(设头指针为head,指针p指向尾结点)。选项A:p=NULL选项B:p-next=head选项C:p-next=NULL选项D:p=head答案:p-next=head题目:在一个单链表中,p、q分别指向表中两个相邻的结点,且q所指结点是p所指结点的直接后继,现要删除q所指结
14、点,可用语句( )。选项A:p-next=q-next选项B:p=q-next选项C:p-next=q选项D:q-next=NULL答案:p-next=q-next题目:线性表在链式存储中各结点之间的地址( )。选项A:部分地址必须连续选项B:必须连续选项C:不能连续选项D:连续与否无所谓答案:连续与否无所谓题目:有关线性表的正确说法是( )。选项A:每个元素都有一个直接前驱和一个直接后继选项B:表中的元素必须按由小到大或由大到下排序选项C:除了一个和最后一个元素外,其余元素都有一个且仅有一个直接前驱和一个直接后继选项D:线性表至少要求一个元素答案:除了一个和最后一个元素外,其余元素都有一个且
15、仅有一个直接前驱和一个直接后继题目:若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用( )存储方式最省时间。选项A:单向循环链表选项B:双向循环链表选项C:带头结点的双向循环链表选项D:顺序表答案:顺序表题目:在单链表中,若*p不是尾结点,在其后插入*s结点的操作是( )。选项A:s-next=p-next;p-next=s;选项B:s-next=p;p-next=s;选项C:s-next=p-next;p=s;选项D:p-next=s;s-next=p;答案:s-next=p-next;p-next=s;题目:在一个长度为n的顺序表中为了删除第5个元素,由第6
16、个元素开始从后到前依次移动了15个元素。则原顺序表的长度为( )。选项A:20选项B:21选项C:25选项D:19答案:20题目:对于一个具有n个结点的单向链表,在给定值为x的结点之后插入一个新结点的时间复杂度为( )。选项A:O选项B:O(1)选项C:O(n3)选项D:O(n2)答案:O题目:设顺序存储的线性表长度为n,对于插入操作,设插入位置是等概率的,则插入一个元素平均移动元素的次数为( )。选项A:n-i+1选项B:n/2选项C:n选项D:n-1答案:n/2题目:线性表的顺序结构中,( )。选项A:数据元素是不能随机访问的选项B:逻辑上相邻的元素在物理位置上不一定相邻选项C:进行数据元
17、素的插入、删除效率较高选项D:逻辑上相邻的元素在物理位置上也相邻答案:逻辑上相邻的元素在物理位置上也相邻题目:以下说法中不正确的是( )。选项A:单向循环链表中尾结点的指针域中存放的是头指针选项B:双向循环链表中每个结点需要包含两个指针域选项C:顺序存储的线性链表是可以随机访问的选项D:已知单向链表中任一结点的指针就能访问到链表中每个结点答案:已知单向链表中任一结点的指针就能访问到链表中每个结点题目:以下表中可以随机访问的是( )。选项A:单向链表选项B:单向循环链表选项C:顺序表选项D:双向链表答案:顺序表题目:设链表中的结点是NODE类型的结构体变量,且有NODE *p;为了申请一个新结点
18、,并由p指向该结点,可用以下语句( )。选项A:p=(*NODE)malloc(sizeof(NODE);选项B:p=(NODE*)malloc(sizeof(NODE);选项C:p=(NODE*)malloc(sizeof(p);选项D:p=(NODE)malloc(sizeof(p);答案:p=(NODE*)malloc(sizeof(NODE);题目:设head为非空的单向循环链表头指针,p指向链表的尾结点,则满足逻辑表达式( )的值为真。选项A:p-next=NULL选项B:p=NULL选项C:p-next=head选项D:p-=head答案:p-next=head题目:顺序存取的线性
19、表乐意随机存取( )。选项A:对选项B:错答案:对题目:由于顺序存储要求连续的存储区域,所以在存储管理上不够灵活( )。选项A:对选项B:错答案:对题目:线性表中的元素可以是各种各样的,但同一线性表中的数据元具有相同的特性,因此是属于同一数据对象( )。选项A:对选项B:错答案:对题目:在线性表的顺序存储结构中,逻辑上相邻的两个元素但是在物理上位置并不一定是相邻的( )。选项A:对选项B:错答案:错题目:在单链表中,任何两个元素的存储位置之间都有固定的联系,因为可以从头结点进行查找任何一个元素( )。选项A:对选项B:错答案:错题目:线性表的链式存储结构优于顺序存储结构( )。选项A:对选项B:错答案:错题目:在线性表的顺序存储结构中,插入和删除元素时,移动元素的个数与该袁术的位置有关( )。选项A:对选项B:错答案:对题目:在单链表中,要取得某个元素,只要知道该元素的指针机可,因此单链表是随机存取的存储结构。 ( )选项A:对选项B:错答案:错题目:顺序存储方式只能用于存储线性结构。( )选项A:对选项B:错答案:错题目:顺序存储方式的有点是存储密度大,且插入、删除运算效率高。( )选项A:对选项B:错答案:错