以下为《第一部分 线性表练习题(1-4章)》的无排版文字预览,完整格式请下载
下载前请仔细阅读文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。
第一部分 线性表练习题
单项选择题
1、算法指的是( )。
A) 计算机程序 B) 解决问题的计算方法
C) 排序算法 D) 解决问题的方法和步骤。
2、人们通常以( )作为数据的基本单位。
A)数据元素 B)数据项
C)数据结构 D)节点
3、与数据元素本身的形式、内容、相对位置、个数无关的是数据的( )。
A) 存储结构 B) 逻辑结构 C) 算法 D)操作
4、从逻辑上可以把数据结构分为( )两大类。
A) 动态结构、静态结构 B) 顺序结构、链式结构
C) 线性结构、非线性结构 D) 初等结构、构造型结构
5、下列叙述中正确的是( )。
A)一个逻辑数据结构只能有一种存储结构
B)数据的逻辑结构属于线性结构,存储结构属于非线性结构
C)一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率
一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率
6、具有独立含义的最小数据单位是( )。
A) 数据项 B) 数据类型 C) 数据元素 D) 数据变量
7、下列程序的时间复杂度为( )。
i=0;s=0;
while(snext= =head B) rear->next->next= =head
C) head->next= =rear D) head->next->next= =rear
13、从一个长度为n的顺序表中删除第i个元素(1≤i≤n)时,需向前移动的元素的个数是( )。
A)n-i B)n-i+1 C)n-i-1 D)i
14、 链表不具备的特点是( )。
A.可随机访问任一结点 B.插入删除不需要移动元素
不必事先估计存储空间 D.所需空间与其长度成正比
15、如果最常用的操作是取第i个结点及其前驱,则采用( )存储方式最节省时间。
A.单某某 B.双链表 C.单循环链表 D. 顺序表
16、线性表采用链式存储时,节点的存储的地址( )。
A) 必须是不连续的 B) 连续与否均可
C) 必须是连续的 D) 和头节点的存储地址相连续
17、用链表表示线性表的优点是( )。
A) 便于随机存取 B) 花费的存储空间比顺序表少
C) 数据元素的物理顺序与逻辑顺序相同 D) 便于插入与删除
18、链表不具有的特点是( ) 。
A) 插入、删除不需要移动元素 B) 可随机访问任一元素
C) 不必事先估计存储空间 D) 所需空间与线性长度成正比
19、在长度为n的顺序表中删除第i个元素(1≤i≤n)时,元素移动的次数为( )。
A) n-i+1 B) i C) i+1 D) n-i
20、将长度为n的单某某链接在长度为m的单某某之后的算法的时间复杂度为( )。
A) O(1) B) O(n) C) O(m) D) O(m+n)
21、若不带头结点的单某某的头指针为head,则该链表为空的判定条件是( )。
A) head==NULL B) head->next==NULL C) head!=NULL D) head->next==head
22、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( )存储方式最节省运算时间。
A) 单某某 B) 仅有头指针的单循环链表
C) 双链表 D) 仅有尾指针的单循环链表
23、若允许表达式内多种括号混合嵌套,则为检查表达式中括号是否正确配对的算法,通常选用的辅助结构是( )。
A) 栈 B) 线性表 C) 队列 D) 二叉排序树
24、顺序栈S中top为栈顶指针,指向栈顶元素所在的位置,elem为存放栈的数组,则元素e进栈操作的主要语句为( )。
A) s.elem[top]=e; s.top=s.top+1; B) s.elem[top+1]=e;s.top=s.top+1;
C) s.top=s.top+1; s.elem[top+1]=e; D) s.top=s.top+1;s.elem[top]=e;
25、循环队列sq中,用数组elem[0··25]存放数据元素,sq.front指示队头元素的前一个位置,sq.rear指示队尾元素的当前位置,设当前sq.front为20,sq.rear为12,则当前队列中的元素个数为( )。
A) 8 B) 16 C) 17 D) 18
26、链式栈与顺序栈相比,一个比较明显的优点是( )。
A) 插入操作更加方便 B) 通常不会出现栈满的情况
C) 不会出现栈空的情况 D) 删除操作更加方便
27、若已知一个栈的入栈序列是1,2,3,4……n,其输出序列为p1,p2,p3,……pn,若p1= =n,则pi为( )。
A) i B) n= =i C) n-i+1 D) 不确定
28、一个栈的入栈序列是a,b,c,d,e,则栈的不可能的输出序列是( ) 。
A) edcba B) decba C) dceab D) abcde
29、对于栈操作数据的原则是( )。
A) 先进先出 B) 后进先出 C) 后进后出 D) 不分顺序
30、判定一个顺序栈st(最多元素为MaxSize)为空的条件是( )。
A.st->top != -1 B.st->top == -1
C.st->top != MaxSize D. st->top == MaxSize
31、判定一个顺序栈st(最多元素为MaxSize)为满的条件是( )。
A.st->top != -1 B.st->top == -1
st->top != MaxSize D.st->top == MaxSize
32、栈和队列的共同点是( )。
A) 都是先进先出 B) 都是先进后出
C) 只允许在端点处插入和删除元素 D) 没有共同点
33、设数组data[m]作为循环队列SQ的存储空间,front为队头指针,rear为队尾指针,则执行出对操作后其头指针front值为( )。
A) front=front+1 B) front=(front+1)%(m-1)
C) front=(front-1)%m D) front=(front+1)%m
34、引起循环队列队头位置发生变化的操作是( )。
A) 出队 B) 入队 C) 取队头元素 D) 取队尾元素
35、判定一个循环队列qu(最多元素为MaxSize)为空的条件是( )。
A)qu->rear – qu->front ==MaxSize B)qu->rear – qu->front -1==MaxSize
C)qu->rear ==qu->front D) qu->rear =qu->front -1
36、向一个栈顶指针为h的带头结点的链栈中插入指针s所指的结点时,应执行( ) 操作。
A)h->next=s ; B)s->next=h ;
C)s->next=h ;h =s ; D)s->next=h->next ;h->next=s ;
37、若串S=‘software’,其子串的数目是( )。
A)8 B)37 C)36 D)9
38、串的长度是指( )。
A)串中所含不同字母的个数 B)串中所含字符的个数
C)串中所含不同字符的个数 D)串中所含非空格字符的个数
39、串是一种特殊的线性表,其特殊性体现在( )。
A)可以顺序存储 B)数据元素是一个字符
C)可以链式存储 D)数据元素可以是多个字符
40、设串的长度为n,则它的子串个数为( )。
A)n B)n(n+1) C)n(n+1)/2 D)n(n+1)/2+1
41、下列那些为空串( )。
A)S=“ ” B)S=“” C)S=“φ” D)S=“θ”
42、S1=“ABCD”,S2=“CD”则S2在S3中的位置是( )。
A)1 B)2 C)3 D)4
43、设线性表有n个元素,严格说来,以下操作中,( )在顺序表上实现要比链表上实现的效率高。
Ⅰ. 输出第i(1data=c;
; r=s;
}
; /*将最后一个结点的next链域置为空,表示链表的结束*/
return L;
}???? /*CreateFromTail*/?
下列算法在顺序表L中依次存放着线性表中的元素,在表中查找与e相等的元素,若 L.elem[i]=e,则 内容过长,仅展示头部和尾部部分文字预览,全文请查看图片预览。 >}
(2)B = {D,R},其中:D={a,b,c,d,e,f,g,h},R ={r},
r = {,,,,,,}
(3)C = {D,R},其中:D={1,2,3,4,5,6},R ={r},
r = {(1,2),(2,3),(2,4),(3,4),(3,5),(3,6),(4,5),(4,6)}
3、对于一个栈,给出输入项A,B,C。如果输入项序列由A,B,C组成,试给出全部可能的输出序列。
4、假设以数组seqn[m]存放循环队列的元素,设变量rear和quelen分别指示循环队列中队尾元素的位置和元素的个数。
(1) 写出队满的条件表达式;
(2) 写出队空的条件表达式;
(3) 设m=40,rear=13,quelen=19,求队头元素的位置;
(4) 写出一般情况下队头元素位置的表达式。
算法设计题
已知一个顺序表L,其中的元素按值非递减有序排列,设计一个算法插入一个元素x后保持该顺序表仍按非递减有序排列。
使用循环队列打印杨辉三角,要求输入行数,按三角形格式输出。
[文章尾部最后500字内容到此结束,中间部分内容请查看底下的图片预览]请点击下方选择您需要的文档下载。
以上为《第一部分 线性表练习题(1-4章)》的无排版文字预览,完整格式请下载
下载前请仔细阅读上面文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。