数据结构练习题15章.docx
- 文档编号:30356473
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:13
- 大小:17.64KB
数据结构练习题15章.docx
《数据结构练习题15章.docx》由会员分享,可在线阅读,更多相关《数据结构练习题15章.docx(13页珍藏版)》请在冰豆网上搜索。
数据结构练习题15章
数据结构练习题
数据结构练习题(1-5章)
一、选择题
1、从逻辑上可以把数据结构分为(B)两大类。
A.动态结构、静态结构B.顺序结构、链式结构
C.线性结构、非线性结构D.初等结构、构造型结构
2、以下数据结构中,哪一个是线性结构()?
A.广义表B.二叉树C.稀疏矩阵D.串
3、在下面的程序段中,对x的赋值语句的频度为()
for(i=1;i<=n;i++)
for(j=1;j<=n;i++)
x=x+1;
A.O(2n)B.O(n)C.O(n2)D.O(log2n)
4、下面关于线性表的叙述中,错误的是哪一个?
()
A.线性表采用顺序存储,必须占用一片连续的存储单元。
B.线性表采用顺序存储,便于进行插入和删除操作。
C.线性表采用链接存储,不必占用一片连续的存储单元。
D.线性表采用链接存储,便于插入和删除操作。
5、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用()存储方式最节省运算时间。
A.单链表B.仅有头指针的单循环链表C.双链表D.仅有尾指针的单循环链表
6、静态链表中指针表示的是().
A.内存地址B.数组下标C.下一元素地址D.左、右孩子地址
7、下面的叙述不正确的是()
A.线性表在链式存储时,查找第i个元素的时间同i的值成正比
B.线性表在链式存储时,查找第i个元素的时间同i的值无关
C.线性表在顺序存储时,查找第i个元素的时间同i的值成正比
D.线性表在顺序存储时,查找第i个元素的时间同i的值无关
8、若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为(C)(1<=i<=n+1)。
A.O(0)B.O
(1)C.O(n)D.O(n2)
9、在单链表指针为p的结点之后插入指针为s的结点,正确的操作是:
()。
A.p->next=s;s->next=p->next;B.s->next=p->next;p->next=s;
C.p->next=s;p->next=s->next;D.p->next=s->next;p->next=s;
10、对于一个头指针为head的带头结点的单链表,判定该表为空表的条件是()
A.head==NULLB.head→next==NULLC.head→next==headD.head!
=NULL
11、一个栈的输入序列为123…n,若输出序列的第一个元素是n,输出第i(1<=i<=n)个元素是()。
A.不确定B.n-i+1C.iD.n-i
12、有六个元素6,5,4,3,2,1的顺序进栈,问下列哪一个不是合法的出栈序列?
()
A.543612B.453126C.346521D.234156
13、设有三个元素X,Y,Z顺序进栈(进的过程中允许出栈),下列得不到的出栈排列是()。
A.XYZB.YZXC.ZXYD.ZYX
14、假设以数组A[m]存放循环队列的元素,其头尾指针分别为front和rear,则当前队列中的元素个数为()。
A.(rear-front+m)%mB.rear-front+1C.(front-rear+m)%mD.(rear-front)%m
15、若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3,当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为多少?
()
A.1和5B.2和4C.4和2D.5和1
16、下面关于串的的叙述中,哪一个是不正确的?
()
A.串是字符的有限序列B.空串是由空格构成的串->(空格串是由空格组成的)
C.模式匹配是串的一种重要运算D.串既可以采用顺序存储,也可以采用链式存储
17、设有两个串p和q,其中q是p的子串,求q在p中首次出现的位置的算法称为()
A.求子串B.联接C.匹配D.求串长
18、设有数组A[i,j],数组的每个元素长度为3字节,i的值为1到8,j的值为1到10,数组从内存首地址BA开始顺序存放,当用以列为主存放时,元素A[5,8]的存储首地址为()。
30*6=180
A.BA+141B.BA+180C.BA+222D.BA+225
19、已知广义表L=((x,y,z),a,(u,t,w)),从L表中取出原子项t的运算是()。
A.head(tail(tail(L)))B.tail(head(head(tail(L))))
C.head(tail(head(tail(L))))D.head(tail(head(tail(tail(L)))))
20、广义表A=(a,b,(c,d),(e,(f,g))),则下面式子的值为()。
Head(Tail(Head(Tail(Tail(A)))))
A.(g)B.(d)C.cD.d
二、判断题
1、数据元素是数据的最小单位。
()
2、算法可以用不同的语言描述,如果用C语言或PASCAL语言等高级语言来描述,则算法实际上就是程序了。
()
3、顺序存储方式的优点是存储密度大,且插入、删除运算效率高。
()
4、线性表采用链表存储时,结点和结点内部的存储空间可以是不连续的。
()
5、线性表的特点是每个元素都有一个前驱和一个后继。
()
6、一个稀疏矩阵Am*n采用三元组形式表示,若把三元组中有关行下标与列下标的值互换,并把m和n的值互换,则就完成了Am*n的转置运算。
()
7、所谓取广义表的表尾就是返回广义表中最后一个元素。
()
三、填空题
1、数据的物理结构包括_____的表示和_____的表示。
2、当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表中的元素时,应采用______存储结构。
3、线性表L=(a1,a2,…,an)用数组表示,假定删除表中任一元素的概率相同,则删除一个元素平均需要移动元素的个数是_____。
4、对于一个具有n个结点的单链表,在已知的结点*p后插入一个新结点的时间复杂度为______,在给定值为x的结点后插入一个新结点的时间复杂度为_____。
5、带头结点的双循环链表L中只有一个元素结点的条件是:
_____
6、一个栈的输入序列是:
1,2,3则不可能的栈输出序列是___。
7、用S表示入栈操作,X表示出栈操作,若元素入栈的顺序为1234,为了得到1342出栈顺序,相应的S和X的操作串为___。
8、____又称作先进先出表。
9、组成串的数据元素只能是____。
10、设有C语言描述的二维数组A[10][20],其每个元素占两个字节,第一个元素的存储地址为100,若按行优先顺序存储,则元素A[6][6]存储地址为_____。
(没说明,则下标从0开始)
四、算法与应用题
1.设线性表存放在向量A[arrsize]的前elenum个分量中且递增有序,试写一算法将x插入到线性表的适当位置,以保持线性表的有序性并分析其时间复杂度。
2.已知带头结点的动态单链表L中的结点是按整数值递增排列的,试写一算法将值x为的结点插入到表L中,使L仍然有序。
3.在长度大于1的单循环链表L中,既无头结点也无头指针。
s为指向链表中某个结点的指针,试编写算法删除结点*s的直接前趋结点。
五、程序填空题
1、下面是用c语言编写的对不带头结点的单链表进行就地逆置的算法,该算法用L返回逆置后的链表的头指针,试在空缺处填入适当的语句。
voidreverse(linklist&L){
p=null;q=L;
while(q!
=null)
{
(1);q->next=p;p=q;
(2)___;}
(3)
}
}
}
2、对单链表中元素按插入方法排序的C语言描述算法如下,其中L为链表头结点指针。
请填充算法中标出的空白处,完成其功能。
(10分)
typedefstructnode
{intdata;structnode*next;
}linknode,*link;
voidInsertsort(linkL)
{linkp,q,r,u;
p=L->next;
(1)___;
while(
(2)___________)
{r=L;q=L->next;
while((3)_&&q->data<=p->data)
{r=q;
q=q->next;
}
u=p->next;(4)_p->next=q___;
(5)_r->next=p_;p=u;
}
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 练习题 15