《国开数据结构复习题及答案.docx》由会员分享,可在线阅读,更多相关《国开数据结构复习题及答案.docx(74页珍藏版)》请在第一文库网上搜索。
1、数据结构复习题2023秋季第一章绪论一、选择题1、把数据存储到计算机中,并具体体现数据元素间的逻辑结构称为()oA.给相关变量分配存储单元B.物理结构C.算法的具体实现D.逻辑结构2、下列说法中,不正确的是()oA.数据项是数据中不可分割的最小可标识单位B.数据元素是数据的基本单位C.数据可有若干个数据元素构成D.数据项可由若干个数据元素构成3、一个存储结点存储一个()oA.数据元素B.数据结构C.数据项D.数据类型4、数据结构中,与所使用的计算机无关的是数据的()oA.存储结构B.物理和存储结构C.物理结构D.逻辑结构5、下列的叙述中,不属于算法特性的是()oA.可行性B.输入性C.可读性D
2、.有穷性6、算法的时间复杂度与()有关。A.计算机的操作系统B.算法本身C.数据结构D.所使用的计算机。7、下面程序段的时间复杂度是()oi=s=0;whi1e(sn)i+;)D.O(1)A.O(n0.5)B.O(1og2n)C.0(n)8、下面程序段的时间复杂度是()。intf(unsignedintn)if(n=0In=1)return1;e1sereturnn*f(n-1);)A.O(1)B.O(1og2n)C.O(n!)D.O(n)10、在数据结构中,从逻辑上可以把数据结构分为()oC.内部结构和外部结构D.线性结构和非线性结构IK执行下面程序段时,执行S语句的次数为()ofor(in
3、ti=1;i=n;i+)for(intj=1;i=i;j+)S;A.n2B.n22C.n(n+1)D.n(n+1)212、数据的存储结构包括数据元素的表示和()oA.数据元素间的关系的表示B.数据处理的方法C.数据元素的类型D.相关算法13、树状结构中数据元素的位置之间存在()的关系。A.一对一B.多对多C.每一个元素都有一个直接前驱和一个直接后继D.一对多14、一种逻辑结构()oA.与存储该逻辑结构的计算机相关B.只能有唯一的存储结构C.可以有不同的存储结构D.是指某一种数据元素的性质15、把数据存储到计算机中,并具体体现数据元素间的逻辑结构称为()oA.逻辑结构B.数据元素的存储C.存储结
4、构D.给数据元素分配存储空间二、判断题1 .数据元素是数据的最小单位。()2 .数据的逻辑结构是指各数据元素之间的逻辑关系,是用户根据应用需要建立的。()3 .算法和程序原则上没有区别,在讨论数据结构时二者是通用的。()4 .数据的逻辑结构与数据元素本身的内容和形式无关。()5 .算法和程序都应具有下面一些特征:有输入,有输出,确定性,有穷性,有效性。()6 .只有用面向对象的计算机语言才能描述数据结构算法。()7 .数据元素可以有一个或多个数据项组成。()8 .数据元素之间的抽象关系称为物理结构。()9 .数据的逻辑结构在计算机中的表示称为逻辑结构。()10 .数据的逻辑结构是与存储该结构的
5、计算机相关的。()11 .数据结构中,元素之间存在多对多的关系称为树状结构。()12 .通常可以把某城市中各公交站点间的线路图抽象成树型结构。()13 .通常可以把一本含有不同章节的书的目录结构抽象成线性结构。()14 .结构中的数据元素存在多对多的关系称为图形结构。()15 .数据结构中,数据可以由一个或多个数据项组成。()三、程序题指出下列各算法的时间复杂度。1、intprime(intn)(inti=1;intx=(int)sqrt(n);whi1e(+ix)return1;e1sereturn0;)2、intsum1(intn)(intp=17s=0;for(inti=1;i=n;i+
6、)P*=i;s+=p;)returns;)3、 intsum2(intn)ints=0;for(int1=1;1=n;1+)intp=1;for(intj=1;j=1;j+)P*=j;s+=p;)returns;)4、 intfun(intn)(int1=1,s=1;whi1e(snext=NU11B.p-next=q-nextC.p=q-nextD.p-next=q4、在一个单链表中P所指结点之后插入一个S所指的结点时,可执行()。A.p-next=s;s-next=p-nextB.p-next=s-next;C.s-next=p-next;p-next=s;D.p=s-next5、非空的单
7、向循环链表的尾结点满足()(设头指针为head,指针P指向尾结点)。A.p-next=headB.p=NU11C.P=headD.p-next=NU116、链表不具有的特点是()oA.不必事先估计存储空间B.可随机访问任一元素C.逻辑上相邻的元素在物理位置上不一定相邻D.插入删除不需要移动元素7、带头结点的链表为空的判断条件是()(设头指针为head)。A. head-next=headB. head=NU11C. head-next=NU11D.head!=NU118、在一个长度为n的顺序表中为了删除第5个元素,由第6个元素开始从后到前依次移动了15个元素。则原顺序表的长度为()oA.19B
8、.21C.20D.259、有关线性表的正确说法是()oA.线性表至少要求一个元素B.每个元素都有一个直接前驱和一个直接后继C.表中的元素必须按由小到大或由大到下排序D.除了一个和最后一个元素外,其余元素都有一个且仅有一个直接前驱和一个直接后继10、向一个有127个元素的顺序表中插入一个新元素,并保持原来的顺序不变,平均要移动()个元素。A.63.5B.7C.63D.8IK一个顺序表第一个元素的存储地址是90,每个元素的长度为2,则第6个元素的地址是()oA.106B.98C.102D.10012、在一个不带头结点的单循环链表中,p、q分别指向表中第一个结点和尾结点,现要删除第一个结点,且p、q
9、仍然分别指向新表中第一个结点和尾结点。可用的语句是P=P-next;和()oA.q-next=pB.p-next=qC.q=pD.p=q-next13、在线性表的顺序结构中,以下说法正确的是()oA.逻辑上相邻的元素在物理位置上不一定相邻B.数据元素是不能随机访问的C.进行数据元素的插入、删除效率较高D.逻辑上相邻的元素在物理位置上也相邻)o14、对链表,以下叙述中正确的是(A.不能随机访问任一结点B.插入删除元素的操作一定要要移动结点C.结点占用的存储空间是连续的D.可以通过下标对链表进行直接访问15、设有一个长度为n的顺序表,要在第i个元素之前(也就是插入元素作为新表的第i个元素),插入一
10、个元素,则移动元素个数为()oA.n-i+1B.iC.n-i-1D.n-i16、在一个单链表H1中,若要向表头插入一个由指针P指向的结点,则执行A. H1=p;p-next=H1;B. p-next=H1;H1=p;C. p-next=H1;p=H1;D. p-next=H1-next;H1-next=p;17、在一个单链表中,已知q所指结点是P所指结点的前驱结点,若在q和P之间插入S结点,则以下操作哪个是正确的()oA. s-next=p-next;p-next=s;B. p-next=s-next;s-next=p;C. p-next=s;s-next=q;D. q-next=s;s-ne
11、xt=p;18、在循环双链表的p所指结点之后插入s所指结点的操作是()oA.p-right=s;s-1eft=p;p-right-1eft=s;s-right=p-right;B. p-right=s;p-right-1eft=s;s-1eft=p;s-right=p-right;C. s-1eft=p;s-right=p-right;p-right=s;p-right-1eft=s;D. s-1eft=p;s-right=p-right;p-right-1eft=s;p-right=s;19、若H1为一个不带表头结点的循环单链表的表头指针,若有H1-neXt=H1条件存在,则该循环单链表是(
12、)oA.空表B.只有1个元素;C.空表或只有一个元素D.非空表20、若H1为一个带表头结点的单链表的表头指针,则该表为空表的条件是A.H1=NU11B.H1-next=NU11C.H1-next=H1D.H1!=NU1121、设头指针为head的非空的单向链表,指针P指向尾结点,则通过以下操作()可使其成为单向循环链表。选择一项:A.head=p;B.p=head;C.p-next=NU11;D.p-next=head;二、判断题1、设有一个不带头结点的单向循环链表,结点的指针域为next,指针P指向尾结点,现要使P指向第一个结点,可用语句p=p-next;。()2、设有一个单向链表,结点的指
13、针域为next,头指针为head,P指向尾结点,为了使该单向链表改为单向循环链表,可用语句p-next=head。()3、设有一个单向循环链表,结点的指针域为next,头指针为head,指针P指向表中某结点,若逻辑表达式p-next=head;的结果为真,则P所指结点为尾结点。()4、要在一个单向链表中P所指向的结点之后插入一个S所指向的新结点,若链表中结点的指针域为next,可执行p-next=s;s-next=p-next;的操作。()5、要在一个单向链表中删除P所指向的结点,已知q指向P所指结点的直接前驱结点,若链表中结点的指针域为next,则可执行q-next=p-next0()6、要在一个带头结点的单向循环链表中删除头结点,得到一个新的不带头结点的单向循环链表,若结点的指针域为next,头指针为head,尾指针为p,则可执行head=head-next;p-next=head;。()7、设有一个单向循环链表,头指针为head,链表中结点的指针域为next,p指向尾结点的直接前驱结点,若要删除尾结点,得到一个新的单向循环链表,可执行操作p-next=head;。()8、设有一个长度为40的顺序表,要删除第8个元素需移动元素的个数为3。()9、线性表用关键字的顺序方式存储,可以用二分法排序。()