数据结构课后练习题

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

数据结构习题书面作业练习题目录习题一绪论.........................................................................................................-1-习题二线性表.............................................................................................................-3-习题三串...........................................................................................................-5-习题四栈和队列.....................................................................................................-6-习题四树和二叉树...........................................................................................-8-习题五字典与高级字典...........................................................................................-11-习题七图...............................................................................................................-12-习题九排序.......................................................................................................-15--1-习题一绪论.1.1单项选择题1.数据结构是一门研究非数值计算的程序设计问题中计算机的①以及它们之间的②和运算等的学科。①A.操作对象B.计算方法C.逻辑存储D.数据映象②A.结构B.关系C.运算D.算法2.数据结构被形式地定义为(K,R),其中K是①的有限集合,R是K上的②有限集合。①A.算法B.数据元素C.数据操作D.逻辑结构②A.操作B.映象C.存储D.关系3.在数据结构中,从逻辑上可以把数据结构分成①。A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构4.线性表的顺序存储结构是一种①的存储结构,线性表的链式存储结构是一种②的存储结构。A.随机存取B.顺序存取C.索引存取D.散列存取5.算法分析的目的是①,算法分析的两个主要方面是②。①A.找出数据结构的合理性B.研究算法中的输入和输出的关系C.分析算法的效率以求改进D.分析算法的易懂性和文档性②A.空间复杂性和时间复杂性B.正确性和简明性C.可读性和文档性D.数据复杂性和程序复杂性6.计算机算法指的是①,它必具备输入、输出和②等五个特性。①A.计算方法B.排序方法C.解决问题的有限运算序列D.调度方法②A.可行性、可移植性和可扩充性B.可行性、确定性和有穷性C.确定性、有穷性和稳定性D.易读性、稳定性和安全性7.线性表的逻辑顺序与存储顺序总是一致的,这种说法①。A.正确B.不正确8.线性表若采用链式存储结构时,要求内存中可用存储单元的地址①。-2-A.必须是连续的B.部分地址必须是连续的C.一定是不连续的D.连续或不连续都可以9.每种数据结构都具备三个基本运算:插入、删除和查找,这种说法①。A.正确B.不正确1.2填空题(将正确的答案填在相应的空中)1.数据逻辑结构包括、、树形结构和图形结构四种类型,树形结构和图形结构合称为。2.在线性结构中,第一个结点前驱结点,其余每个结点有且只有个前驱结点;最后一个结点后续结点,其余每个结点有且只有个后续结点。3.在树形结构中,树根结点没有结点,其余每个结点有且只有个前驱结点,叶子结点没有结点,其余每个结点的后续结点可以。4.在图形结构中,每个结点的前驱结点数和后续结点数可以。5.线性结构中元素之间存在关系,树形结构中元素之间存在关系,图形结构中元素之间存在关系。6.下面程序段的时间复杂度是。for(i=0;in;i++)for(j=0;jm;j++)A[i][j]=0;7.下面程序段的时间复杂度是。i=s=0;while(sn){i++;/*i=i+1*/s+=i;/*s=s+1*/}8.下面程序段的时间复杂度是。s=0;for(i=0;in;i++)for(j=0;jn;j++)s+=B[i][j];-3-sum=s;9.下面程序段的时间复杂度是。i=1;while(i=n)i=i*3;习题二线性表一、选择题:1、在表长为n的顺序表上做插入运算,平均要移动的结点数为()。A.nB.n/2C.n/3D.n/42、在一个单链表中,若P所指结点不是最后结点,在P之后插入S所指结点,则执行()A.S-link=P-link;P-link=SB.P-link=S-link;S-link=P;C.P-link=P;P-link=S;D.P-link=S;S-link=P;3、在已知头指针的单链表中,要在其尾部插入一新结点,其算法所需的时间复杂度为()A.O(1)B.O(log2n)C.O(n)D.O(n2)4、对于只在表的首、尾两端进行插入操作的线性表,宜采用的存储结构为()A.顺序表B.用头指针表示的单循环链表C.用尾指针表示的单循环链表D.单链表5、线性表是()A.一个有限序列,可以为空B.一个有限序列,不能为空C.一个无限序列,可以为空D.一个无限序列,不能为空6、在n个结点的双链表的某个结点前插入一个结点的时间复杂度是()A.O(n)B.O(1)C.O(log2n)D.O(n2)7、线性表采用链式存储时,结点的地址()A.必须是连续的B.必须是不连续的C.连续与否均可D.必须有相等的间隔8、在单链表中,增加头结点的目的是()A.使单链表至少有一结点B.标志表中首结点位置C.方便运算的实现D.说明单链表是线性表的链式存储实现9、带头结点的单链表head为空的判定条件是()A.head=NULL;B.head-link=NULL;C.head-link=head;D.head!=NULL;-4-10、在一个具有n个结点的有序单链表中插入一个新结点并仍然有序的时间复杂度为()A.O(1)B.O(n)C.O(n2)D.O(log2n)11、下列有关线性表的叙述中,正确的是()A.线性表中的元素之间是线性关系B.线性表中至少有一个元素C.线性表中任何一个元素有且仅有一个直接前趋D.线性表中任何一个元素有且仅有一个直接后继12、在单链表中,存储每个结点需有两个域,一个是数据域,另一个是指针域,它指向该结点的()A.直接前趋B.直接后继C.开始结点D.终端结点13、将两个各有n个元素的有序表归并成一个有序表,其最少的比较次数是()。A.nB.2n-1C.2nD.n-114、链表不具有的特点是()。A.随机访问B.不必事先估计存储空间C.插入删除时不需移动元素D.所需的空间与线性表成正比15、在一个单链表中,已知q所指结点是p所指结点的直接前趋,若在p,q之间插入s结点,则执行的操作是()。A.s-link=p-link;p-link=s;B.q-link=s;s-link=p;C.p-link=s-link;s-link=p;D.p-link=s;s-link=q;16、链表具有的特点是()。A.可随机访问任一元素B.插入、删除需要移动元素C.不必事先估计存储空间D.存储空间是静态分配的17、一个顺序表一旦说明,其中可用空间大小()A.已固定B.可以改变C.不能固定D.动态变化18、若某线性表中最常用的操作是取第i个元素和找第i个元素的前趋元素,则采用()存储方式最节省时间。A.顺序表B.单链表C.双向链表D.单循环链表19、两个指针P和Q,分别指向单链表的两个元素,P所指元素是Q所指元素的前驱的条件是()。A.P-link==QB.Q-link==PC.P==QD.P-link==Q-link20、下面关于线性表的叙述中,错误的是()。A.线性表采用顺序存储,必须占用一片连续的存储单元B.线性表采用顺序存储,便于进行插入和删除操作C.线性表采用链接存储,不必占用一片连续的存储单元D.线性表采用链接存储,便于进行插入和删除操作21、在n个结点的顺序表中,算法的时间复杂度是O(1)的操作是()。A.访问第i个结点(1≤i≤n)和求第i个结点的直接前趋(2≤i≤n)-5-B.在第i个结点后插入一个新结点(1≤i≤n)C.删除第i个结点(1≤i≤n)D.将n个结点从小到大排序22、在一个单链表中,若删除p指向结点的后继结点,则执行的操作为()。A.q=p-link;p-link=p-link-link;free(q);B.p=p-link;q=p-link;p=q-link;free(q);C.q=p-link-link;p=p-link;free(q);D.p=p-link-link;q=p-link;free(q);二、算法设计题:1.写一算法实现:在带头结点单链表list中第i个元素之前插入元素值x。2.试写一算法,实现顺序表的就地逆置,即利用原表的存储空间将线性表(a1,a2,….an)逆置为(an,an-1,….,a1)。习题三串3.1单项选择题1.空串与空格串是相同的,这种说法____。A.正确B.不正确2.串是一中特殊的线性表,其特殊性体现在____。A.可以顺序存储B.数据元素是一个字符C.可以链接存储D.数据元素可以是多个字符3.设有两个串p和q,求q在p中首次出现的位置的运算称作____。A.连接B.模式匹配C.求子串D.求串长4.设串s1=’ABCDEFG’,s2=’PQRST’,函数con(x,y)返回x和y串的连接串,subs(s,i,j)返回串s的从序号i的字符开始的j个字符组成的子串,len(s)返回串s的长度,则con(subs(s1,2,len(s2)),subs(s1,len(s2),2))的结果串是____。A.BCDEFB.BCDEFGC.BCPQRSTD.BCDEFEF3.2算法设计题:1.编写算法,从串s中删除所有和串t相同的子串。2.编写算法,实现串的基本操作Replace(&S,T,V)。3.3P84复习题第2题-6-习题四栈和队列一、选择题:1、循环队列是空队列的条件是()A.Q-r==Q-fB.(Q-r+1)%maxsize==Q-fC.Q-r==0D.Q-f==02、链栈与顺序栈相比,比较明显的优点是()A.插入操作更加方便B.删除操作更加方便C.不会出现下溢的情况D.不会出现上溢的情况3、若一个栈的输入序列是1,2,3,……,n,输出序列的第一个元素是n,则第i个输出元素是()A.n-iB.n–i+1C.iD.不确定4、栈与一般线性表的区别主要在()A.元素个数B.元素类型C.逻辑结构D.插入、删除元素的位置5、一个链栈的栈顶指针是top,则执行出栈操作时(栈非空),用x保存被删除结点,则执行()A.x=top;top=top-link;B.x=top-info;C.top=top-link;x=top-info;D.x=top-info;top=top-link;6、一个栈的入栈序列是a,b,c,d,e,则栈的不可能的输出序列是()。A.e,d,c,b,aB.d,e,c,b,aC.d,c,e,a,bD.a,b,c,d,e7、设计一个判别表

1 / 19
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功