数据结构形考作业答案Word下载.docx

上传人:b****1 文档编号:14435745 上传时间:2022-10-22 格式:DOCX 页数:47 大小:105.13KB
下载 相关 举报
数据结构形考作业答案Word下载.docx_第1页
第1页 / 共47页
数据结构形考作业答案Word下载.docx_第2页
第2页 / 共47页
数据结构形考作业答案Word下载.docx_第3页
第3页 / 共47页
数据结构形考作业答案Word下载.docx_第4页
第4页 / 共47页
数据结构形考作业答案Word下载.docx_第5页
第5页 / 共47页
点击查看更多>>
下载资源
资源描述

数据结构形考作业答案Word下载.docx

《数据结构形考作业答案Word下载.docx》由会员分享,可在线阅读,更多相关《数据结构形考作业答案Word下载.docx(47页珍藏版)》请在冰豆网上搜索。

数据结构形考作业答案Word下载.docx

B.逻辑结构 

C.物理和存储结构

D.存储结构

题目5

以下的表达中,不属于算法特性的是( 

A.有穷性

B.可行性

C.可读性 

D.输入性

题目6

正确

取得分中的分

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 

C.n-i+1

题目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->

B.p->

next=s;

s->

next=p->

C.p->

next=s->

next;

D.s->

next=p->

p->

next=s;

题目13

非空的单向循环链表的尾结点知足( 

)(设头指针为head,指针p指向尾结点)。

A.p==head

B.p==NULL

next==head 

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. 

题目19

一个顺序表第一个元素的存储地址是90,每一个元素的长度为2,那么第6个元素的地址是( 

A.102

B.98

C.100 

D.106

题目20

在双向循环链表中,在p所指的结点以后插入指针f所指的新结点,其操作步骤是( 

A.f->

prior=p;

f->

next=f;

p->

next->

prior=f;

f->

C.f->

二、填空题(每题2分,共30分)

题目21

在一个长度为n的顺序存储结构的线性表中,向第i(1£

n+1)个元素之前插入新元素时,需向后移动回答个数据元素。

题目22

从长度为n的采纳顺序存储结构的线性表中删除第i(1£

n+1)个元素,需向前移动回答个元素。

题目23

数据结构按结点间的关系,可分为4种逻辑结构:

_____集合_________、____线性结构、__________、____树形结构__________、____图状结构__________。

题目24

数据的逻辑结构在运算机中的表示称为_____存储结构__________或______物理结构_________。

题目25

除第1个和最后一个结点外,其余结点有且只有一个前驱结点和后继结点的数据结构为回答,每一个结点可有任意多个前驱和后继结点数的结构为回答

答案:

线性结构,非线性结构

题目26

数据结构中的数据元素存在多对多的关系称为回答结构。

题目27

数据结构中的数据元素存在一对多的关系称为回答结构。

题目28

数据结构中的数据元素存在一对一的关系称为回答结构。

题目29

要求在n个数据元素中找其中值最大的元素,设大体操作为元素间的比较。

那么比较的次数和算法的时刻复杂度别离为__n-1___________和__O(n)___________。

题目30

在一个单链表中p所指结点以后插入一个s所指结点时,应执行回答和p->

的操作。

题目31

设有一个头指针为head的单向循环链表,p指向链表中的结点,假设p->

next=回答,那么p所指结点为尾结点。

题目32

在一个单向链表中,要删除p所指结点,已知q指向p所指结点的前驱结点。

那么能够用操作回答。

正确答案是:

q->

题目33

设有一个头指针为head的单向链表,p指向表中某一个结点,且有p->

next==NULL,通过操作回答,就可使该单向链表构形成单向循环链表。

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;

next=NULL;

for(i=1;

i<

=n;

i++)

回答

;

return(head);

}

题目39

以下是用头插法成立带头结点的且有n个结点的单向链表的算法,请在空格内填上适当的语句。

NODE*create2(n)

/*对线性表(n,n-1,.....,1),成立带头结点的线性链表*/

data=i;

if(i==1) 

else

题目40

以下是在具有头结点单向链表中删除第i个结点的算法,请在空格内填上适当的语句。

intdelete(NODE*head,inti)

NODE*p,*q;

intj;

q=head;

j=0;

while((q!

=NULL)&

&

(j<

i-1)) 

/*找到要删除结点的直接前驱,并使q指向它*/

j++;

if(q==NULL)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 生物学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1