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