电大考试《数据结构》形成性考核.docx
《电大考试《数据结构》形成性考核.docx》由会员分享,可在线阅读,更多相关《电大考试《数据结构》形成性考核.docx(70页珍藏版)》请在冰豆网上搜索。
电大考试《数据结构》形成性考核
形考作业一
题目1
把数据存储到计算机中,并具体体现数据元素间的逻辑结构称为( )。
选择一项:
A.逻辑结构
B.给相关变量分配存储单元
C.算法的具体实现
D.物理结构
题目2
下列说法中,不正确的是( )。
选择一项:
A.数据可有若干个数据元素构成
B.数据元素是数据的基本单位
C.数据项是数据中不可分割的最小可标识单位
D.数据项可由若干个数据元素构成
题目3
一个存储结点存储一个( )。
选择一项:
A.数据结构
B.数据类型
C.数据项
D.数据元素
题目4
数据结构中,与所使用的计算机无关的是数据的( )。
选择一项:
A.物理结构
B.逻辑结构
C.物理和存储结构
D.存储结构
题目5
下列的叙述中,不属于算法特性的是( )。
选择一项:
A.有穷性
B.可行性
C.可读性
D.输入性
题目6
正确
获得2.00分中的2.00分
A.研究算法中的输入和输出的关系
B.分析算法的易懂性和文档性
C.分析算法的效率以求改进
D.找出数据结构的合理性
题目7
算法指的是( )。
选择一项:
A.排序方法
B.解决问题的计算方法
C.计算机程序
D.解决问题的有限运算序列
题目8
算法的时间复杂度与( )有关。
选择一项:
A.所使用的计算机
B.数据结构
C.算法本身
D.计算机的操作系统
题目9
设有一个长度为n的顺序表,要在第i个元素之前(也就是插入元素作为新表的第i个元素),插入一个元素,则移动元素个数为( )。
选择一项:
A.n-i+1
B.n-i-1
C.n-i
D.i
题目10
设有一个长度为n的顺序表,要删除第i个元素移动元素的个数为( )。
选择一项:
A.n-i
B.n-i-1
C.n-i+1
D.i
题目11
在一个单链表中,p、q分别指向表中两个相邻的结点,且q所指结点是p所指结点的直接后继,现要删除q所指结点,可用语句( )。
选择一项:
A.p->next=q->next
B.p=q->next
C.q->next=NULL
D.p->next=q
题目12
在一个单链表中p所指结点之后插入一个s所指的结点时,可执行( )。
选择一项:
A.p=s->next
B.p->next=s;s->next=p->next
C.p->next=s->next;
D.s->next=p->next;p->next=s;
题目13
非空的单向循环链表的尾结点满足( )(设头指针为head,指针p指向尾结点)。
选择一项:
A.p==head
B.p==NULL
C.p->next==head
D.p->next==NULL
题目14
链表不具有的特点是( )。
选择一项:
A.可随机访问任一元素
B.插入删除不需要移动元素
C.不必事先估计存储空间
D.所需空间与线性表长度成正比
题目15
带头结点的链表为空的判断条件是( )(设头指针为head)。
选择一项:
A.head->next==NULL
B.head->next==head
C.head==NULL
D.head!
=NULL
题目16
在一个长度为n的顺序表中为了删除第5个元素,由第6个元素开始从后到前依次移动了15个元素。
则原顺序表的长度为( )。
选择一项:
A.21
B.19
C.20
D.25
题目17
有关线性表的正确说法是( )。
选择一项:
A.表中的元素必须按由小到大或由大到下排序
B.除了一个和最后一个元素外,其余元素都有一个且仅有一个直接前驱和一个直接后继
C.线性表至少要求一个元素
D.每个元素都有一个直接前驱和一个直接后继
题目18
向一个有127个元素的顺序表中插入一个新元素,并保持原来的顺序不变,平均要移动( )个元素。
选择一项:
A.8
B.7
C.63
D.63.5
题目19
一个顺序表第一个元素的存储地址是90,每个元素的长度为2,则第6个元素的地址是( )。
选择一项:
A.102
B.98
C.100
D.106
题目20
在双向循环链表中,在p所指的结点之后插入指针f所指的新结点,其操作步骤是( )。
选择一项:
A.f->prior=p;f->next=p->next;p->next=f;p->next->prior=f;
B.p->next=f;f->prior=p;p->next->prior=f;f->next=p->next;
C.f->prior=p;f->next=p->next;p->next->prior=f;p->next=f;
D.p->next=f;p->next->prior=f;f->prior=p;f->next=p->next;
二、填空题(每小题2分,共30分)
题目21
在一个长度为n的顺序存储结构的线性表中,向第i(1£i£n+1)个元素之前插入新元素时,需向后移动回答
个数据元素。
题目22
从长度为n的采用顺序存储结构的线性表中删除第i(1£i£n+1)个元素,需向前移动回答
个元素。
题目23
数据结构按结点间的关系,可分为4种逻辑结构:
_____集合_________、____线性结构、__________、____树形结构__________、____图状结构__________。
题目24
数据的逻辑结构在计算机中的表示称为_____存储结构__________或______物理结构_________。
题目25
除了第1个和最后一个结点外,其余结点有且只有一个前驱结点和后继结点的数据结构为回答
,每个结点可有任意多个前驱和后继结点数的结构为回答
。
答案:
线性结构,非线性结构
题目26
数据结构中的数据元素存在多对多的关系称为回答
结构。
题目27
数据结构中的数据元素存在一对多的关系称为回答
结构。
题目28
数据结构中的数据元素存在一对一的关系称为回答
结构。
题目29
要求在n个数据元素中找其中值最大的元素,设基本操作为元素间的比较。
则比较的次数和算法的时间复杂度分别为__n-1___________和__O(n)___________。
题目30
在一个单链表中p所指结点之后插入一个s所指结点时,应执行回答
和p->next=s;的操作。
题目31
设有一个头指针为head的单向循环链表,p指向链表中的结点,若p->next=回答
,则p所指结点为尾结点。
题目32
在一个单向链表中,要删除p所指结点,已知q指向p所指结点的前驱结点。
则可以用操作回答
。
正确答案是:
q->next=p->next;
题目33
设有一个头指针为head的单向链表,p指向表中某一个结点,且有p->next==NULL,通过操作回答
,就可使该单向链表构形成单向循环链表。
正确答案是:
p->next=head;
题目34
单向循环链表是单向链表的一种扩充,当单向链表带有头结点时,把单向链表中尾结点的指针域由空指针改为回答
;当单向链表不带头结点时,则把单向链表中尾结点的指针域由空指针改为指向回答
。
答案:
头结点的指针、指向第一个结点的指针
题目35
线性链表的逻辑关系是通过每个结点指针域中的指针来表示的。
其逻辑顺序和物理存储顺序不再一致,而是一种回答
存储结构,又称为回答
。
答案:
链式、链表
三、问答题(第1小题7分,第2小题8分)
题目36
简述数据的逻辑结构和存储结构的区别与联系,它们如何影响算法的设计与实现?
答:
若用结点表示某个数据元素,则结点与结点之间的逻辑关系就称为数据的逻辑结构。
数据在计算机中的存储表示称为数据的存储结构。
可见,数据的逻辑结构是反映数据之间的固有关系,而数据的存储结构是数据在计算机中的存储表示。
尽管因采用的存储结构不同,逻辑上相邻的结点,其物理地址未必相同,但可通过结点的内部信息,找到其相邻的结点,从而保留了逻辑结构的特点。
采用的存储结构不同,对数据的操作在灵活性,算法复杂度等方面差别较大。
题目37
解释顺序存储结构和链式存储结构的特点,并比较顺序存储结构和链式存储结构的优缺点。
答:
顺序结构存储时,相邻数据元素的存放地址也相邻,即逻辑结构和存储结构是统一的,要求内存中存储单元的地址必须是连续的。
优点:
一般情况下,存储密度大,存储空间利用率高。
缺点:
(1)在做插入和删除操作时,需移动大量元素;
(2)由于难以估计,必须预先分配较大的空间,往往使存储空间不能得到充分利用;(3)表的容量难以扩充。
链式结构存储时,相邻数据元素可随意存放,所占空间分为两部分,一部分存放结点值,另一部分存放表示结点间关系的指针。
优点:
插入和删除元素时很方便,使用灵活。
缺点:
存储密度小,存储空间利用率低。
四、程序填空题(每空1分,共15分)
题目38
下列是用尾插法建立带头结点的且有n个结点的单向链表的算法,请在空格内填上适当的语句。
NODE*create1(n)
/*对线性表(1,2,.....,n),建立带头结点的单向链表*/
{
NODE*head,*p,*q;
inti;
p=(NODE*)malloc(sizeof(NODE));
head=p;q=p;p->next=NULL;
for(i=1;i<=n;i++)
{
p=(NODE*)malloc(sizeof(NODE));
回答
; 回答
;
回答
;
回答
;
}
return(head);
}
题目39
下列是用头插法建立带头结点的且有n个结点的单向链表的算法,请在空格内填上适当的语句。
NODE*create2(n)
/*对线性表(n,n-1,.....,1),建立带头结点的线性链表*/
{
NODE*head,*p,*q;
inti;
p=(NODE*)malloc(sizeof(NODE));
回答
;
p->next=NULL;
回答
;
for(i=1;i<=n;i++)
{
p=(NODE*)malloc(sizeof(NODE));
p->data=i;
if(i==1)
回答
;
else
回答
;
回答
;
}
return(head);
}
题目40
下列是在具有头结点单向链表中删除第i个结点的算法,请在空格内填上适当的语