数据结构习题1_第1页
数据结构习题1_第2页
数据结构习题1_第3页
数据结构习题1_第4页
数据结构习题1_第5页
已阅读5页,还剩81页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《数据结构》试卷及答案1.算法分析的目的是(

c

)。A.找出数据结构的合理性

B.研究算法中输入和输出的关系

C.分析算法的效率以求改进

D.分析算法的易懂性和文档性

2.(

b

)是具有相同特性数据元素的集合,是数据的子集。

A.数据符号

B.数据对象

C.数据

D.数据结构3.用链表表示线性表的优点是(

C

)。A.便于随机存取

B.花费的存储空间比顺序表少

C.便于插入与删除

D.数据元素的物理顺序与逻辑顺序相同

4.输入序列为(A,B,C,D)不可能的输出有(d

)。

A.(A,B,C,D)

B.

(D,C,B,A)

C.

(A,C,D,B)

D

.

(C,A,B,D)5.在数组表示的循环队列中,front、rear分别为队列的头、尾指针,maxSize为数组的最大长度,队满的条件是(

b

)。A.

front=maxSize

B.

(rear+1)%maxSize=front

C.

rear=maxSize

D.

rear=front

6.设有串t='I

am

a

good

student

',那么Substr(t,6,6)=(D

)包含第六个A.

student

B.

a

good

s

C.

good

D.

a

good7.设有一个对称矩阵A,采用压缩存储方式,以行序为主序存储a11为第一个元素,其存储地址为1,每个元素占一个地址空间,则a85地址为(

B

)。

A.23

B.33

C.18

D.

408.已知广义表

LS=(A,(B,C,D),E)运用head和tail函数,取出LS中原子b的运算(C

)。

A.

Gethead(Gethead(LS))

B.

Gettail(Gethead(LS))

C.

Gethead(Gethead(Gettail(LS)))

D.

Gethead(Gettail(LS))

9.若已知一棵二叉树先序序列为ABCDEFG,中序序列为CBDAEGF,则其后序序列为(A

)

。ABECDFA.

CDBGFEA

B.

CDBFGEA

GC.

CDBAGFE

D.

BCDAGFE

10.下列存储形式中,(c

)

不是树的存储形式。A.双亲表示法

B.左子女右兄弟表示法C.广义表表示法

D.顺序表示法

11.对待排序的元素序列进行划分,将其分为左、右两个子序列,再对两个子序列施加同样的排序操作,直到子序列为空或只剩一个元素为止。这样的排序方法是(C

)。A.直接选择排序

B.直接插入排序C.快速排序

D.起泡排序

12.采用折半查找方法进行查找,数据文件应为(A

),且限于(

)。A.有序表

顺序存储结构

B.有序表

链式存储结构

C.随机表

顺序存储结构

D.随机表

链式存储结构

13.就平均查找速度而言,下列几种查找速度从慢至快的关系是(B

)A.顺序折半哈希分块

B.顺序分块折半哈希

C.分块折半哈希顺序

D.顺序哈希分块折半14.执行下面程序段时,执行S语句的次数为(D

)for(int

I=1;I<=n;I++)

for(int

j=1;j<=I;j++)

S;

A.

n2

B.

n2/2

C.

n(n+1)

D.

n(n+1)/2

15.串是一种特殊的线性表,其特殊性体现在(B)A.可以顺序存储

B.数据元素是一个字符

C.可以链接存储

D.数据元素可以是多个字符

16.树的基本遍历策略分为先根遍历和后根遍历;二叉树的基本遍历策略可分为先序遍历、中序遍历和后序遍历。结论(A

)是正确的。A.树的先根遍历序列与其对应的二叉树的先序遍历序列相同

B.树的后根遍历序列与其对应的二叉树的先序遍历序列相同

C.树的先根遍历序列与其对应的二叉树的中序遍历序列相同

D.以上都不对

17.由五个分别带权值为9,2,3,5,14的叶子结点构成的一棵哈夫曼树,该树的带权路径长度为(C

)。

A.

60

B.

66

C.

67

D.

50

18.一棵二叉树有67个结点,这些结点的度要么是0,要么是2。这棵二叉树中度为2的结点有(

A)个A.

33

B.

34

C.

32

D.

30

19.有一个有序表为{1,3,9,12,32,41,45,62,75,77,82,95,100},当二分查找值82为的结点时,(C)次比较后查找成功。A.

1

B.

2

C.

4

D.

8

20.若有文件的关键字序列为:D[265]

[301]

[751]

[129]

[937]

[863]

[742]

[694]

[076]

[438],以下为二路归并排序过程。第二趟为:

A.[265

301]

[129

751]

[863

937]

[694

742]

[076

438]

B.[076

129

265

301

438

694

742

751

863

937]

C.[129

265

301

694

742

751

863

937]

[076

438]

D.[129

265

301

751]

[694

742

863

937]

[076

438]

二、填空题(本大题共6小题,每空2分,共12分;答案填在下表内)

1

算法是指令的有限序列,其中每一条指令表示一个或多个操作,此外,一个算法还具有五个重要特性,它们分别是_______

、______

、________

、有零或多个输入和有一或多个输出。

2

算法优劣的五个标准是正确性、可使用性、______、______、_____。

3

有n个球队参加的足球联赛按主客场制进行比赛,共需进行_________场比赛。4

设有串t='I

am

a

student

',s='good',那么Concat(t,s)=

'I

am

a

student

good',Substr(t,8,7)=

__________。

5

在解决计算机主机与打印机之间速度不匹配时通常设置一个打印数据缓冲区,主机将要输出的数据依次写入该缓冲区,而打印机从该缓冲区中取出数据打印。该缓冲区应该是一个_________

结构,其主要特点是__________。

6

广义表((a),a)的表头是_______,表尾是_______。

三、判断题(对的打“√”,错的打“×”。每小题1分,共10分;答案填在下表内)1数据的逻辑结构与数据元素本身的内容和形式无关。2

三个结点的二叉树和三个结点的树一样,都具有三种不同的形态。3中序序列和后序序列相同的二叉树为:空树和缺右子树的单支树。4对于两棵具有相同关键字集合而形状不同的二叉排序树,中序遍历后得到的关键字排列顺序相同。5

序列{30,40,50,15,25,35,38,10}是堆。6

对于无向图的生成树,从同一顶点出发所得的生成树相同。7

若设哈希表长m=14,哈希函数H(key)=key%11,表中已有4个结点。addr(15)=4

addr(38)=5

addr(61)=6

addr(84)=7

其余地址为空,如用二次探测再散列处理冲突,关键字为49的结点的地址是9。8一个深度为k的,具有最少结点数的完全二叉树按层次,(同层次从左向右)用自然数依此对结点编号则,则编号最小的叶子的序号是2k-2+1

;编号是i的结点所在的层次号是「log2i|+1。(「log2i|表示向上取整」(根所在的层次号规定为1层)。9在一棵7阶B树中,一个结点中最多有6棵子树,最少有3棵子树。10算法可以没有输入,但是必须有输出。五、要求题(本大题共2小题,共12分)设关键字的输入序列为{4,5,7,2,1,3,6}1.(8分)从空树开始构造平衡二叉树,画出每加入一个新结点时二叉树的形态,若发生不平衡,指明需做的平衡旋转类型及平衡旋转的结果。(4分)上面的数据作为待排序的数据,写出用快速排序进行一趟划分后的数据序列数据结构试卷A答案选择题(本大题共20小题,每题1分,共20分;答案填在下表内)12345678910C

B:

C:

D:

B:

D:

B:

C:

A:

C11121314151617181920:

CA:

B:

D:

B:

A:

C:

ACD

二、填空题(本大题共5小题,每空1分,共12分;答案填在下表内)

1

有穷性

确定性

可行性

2

可读性

健壮性

效率

3

n(n-1)

4

'student'

5

队列

先进先出

6

(a)

(a)

三、判断题(对的打“√”,错的打“×”。每小题1分,共10分)1)true

;

2)flase;

3)true;

4)true;

5)flase;6)flase

;

7)true;

8)true;

9)flase;

10)true

第2

学期

数据结构试卷A

选择题(本大题共15小题,每题2分,共30分;答案填在下表内)1.从一个长度为100的顺序表中删除第30个元素时需向前移动

个元素A、70

B、71

C、69

D、302.在一个具有N个单元的顺序表中,假定以地址低端(即下标为1的单元)作为底,以top作为顶指针,则当做进栈处理时top变化为______。A、top不变

B、top=0

C、top=top-1

D、top=top+13.从一个具有n个结点的单链表中查找其值等于x结点时,在查找成功情况下,则平均比较____个结点。

A、n

B、n/2

C、(n-1)/2

D、(n+1)/24.在一个单链表中,若要删除p指针所指结点的后继结点,则执行A、p->

next;

p->

next=p->

next->

next;B、p->

next=p->

next->

next;C、p=p->

next;D、p=p->

next->>next;5.在一个链队列中,假定front和rear分别为队首和队后指针,则进行插入S结点的操作时应执行___。A、front->

next=s;

front=s;B、s->

next=rear;

rear=s;C、rear->

next=s;

rear=s;D、s->

next=front;

front=s;6.在一棵度为3的树中度为3的结点数为3个,度为2的结点数为1个,度为1的结点数为1个,那么度为0的结点数为____个A、6

B、7

C、8

D、97.假定一棵二叉树的结点数为33个,则它的最小高度为__,最大高度为___A、4,33

B、5,33

C、6,33

D、6,328.

在一棵完全二叉树中,若编号为i的结点有右孩子,则该结点的右孩子编号为___。A、2i

B、2i+1

C、2i-1

D、i/29.在一个有向图中,所有顶点的入度之和等于所有弧数和___倍。

A、1

B、2

C、3

D、410.对于一个具有N个顶点的图,若用邻接矩阵表示,则该矩阵的大小为___。

A、

N

B、(N-1)2

C、(N+1)2

D、

N211.已知一个图如图所示,在该图的最小生成树中各边上数值之和为____。A、21

B、26

C、28

D、33

12.已知一个图如图所示,由该图行到的一种拓朴序列为

A、v1

v4

v6

v2

v5

v3

B、v1

v2

v3

v4

v5

v6

C、v1

v4

v2

v3

v6

v5

D、v1

v2

v4

v6

v3

v5

13.二维数组M的元素是4个字符(每个字符占一个存储单元)组成的串,行下标i的范围从0到4,列下标j的范围从0到5,M按行存储时元素M[2][4]的起始地址与M按列存储时元素

的起始地址相同。

A、m[2][4]

B、M[4][2]

C、M[3][1]

D、M[3][1]14.具有6个结点的无向图至少应有

条边才能保证是连通图。5

B、6

C、

7

D、

8

15.采用邻接表存储的图的深度优先遍历类似于二叉树的

。A

先序遍历B中序遍历

C.

后序遍历

D.

按层遍历

二、填空题(本大题共5小题,每空1分,共8分;答案填在下表内)12345678

1.数据结构是研究数据元素之间抽象化的相互关系和这种关系在计算机中的存储结构表示,根据数据元素之间关系的不同特性,通常有下列四类基本结构:集合、线性结构、(1)

(2)

。2.评价算法的标准很多,通常是以执行算法所需要的

(3)和所占用的(4)来判别一个算法的优劣。3.线性表的顺序存储结构特点是表中逻辑关系相邻的元素在机器内的(5)也是相邻的。4.空格串的长度为串中所包含

(6)

字符的个数,空串的长度为

(7)

5.加上表示指向前驱和

(8)

的线索的二叉数称为线索二叉树。

三、判断题(对的打“√”,错的打“×”。每小题1分,共10分)(

)1.线性表的唯一存储形式是链表。(

)2.已知指针P指向键表L中的某结点,执行语句P=P-〉next不会删除该链表中的结点。(

)3.在链队列中,即使不设置尾指针也能进行入队操作。(

)4.如果一个串中的所有字符均在另一串中出现,则说前者是后者的子串。(

)5.设与一棵树T所对应的二叉树为BT,则与T中的叶子结点所对应的BT中的结点也一定是叶子结点。(

)6.快速排序是不稳定排序。(

)7.任一AOE网中至少有一条关键路径,且是从源点到汇点的路径中最短的一条。(

)8.若图G的最小生成树不唯一,则G的边数一定多于n-1,并且权值最小的边有多条(其中n为G的顶点数)。(

)9.给出不同的输入序列建造二叉排序树,一定得到不同的二叉排序树。()10.基数排序是多关键字排序。从最低位关键字起进行排序。

四、应用题。(共44分)2.假设用于通信的电子由字符集{a,b,c,d,e,f,g,h}中的字母构成,这8个字母在电文中出现的概率分别为{0.07,0.19,0.02,0.06,0.32,0.03,0.21,0.10}画出哈夫曼树,并为这8个字母设计哈夫曼编码。(8分)

3.

已知序列{70,73,69,23,93,18,11,68}请给出直接插入排序作升序排序每一趟的结果和快速排序作升序排序时一趟的结果。(10分)

4.设有一组关键字关键码集为{47,7,29,11,16,92,22,8,3},哈希表表长为11,Hash(key)=key

mod

11,用线性探测法处理冲突,构造哈希表,并求它成功查找的ASL。(8分)

5.

二叉树的先序遍历序列为

A

B

C

D

E

F

G

H

I,中序遍历序列为

B

C

A

E

D

G

H

F

I,画出这棵二叉树。(6分)参考答案及评分标准选择题本大题共15小题,每题2分,共30分

123456789101112131415ADDBCCCBADBADAA填空题(本大题共5小题,每空1分,共8分)

12345678树型结构图型结构时间空间位置空格零后继

三、判断题(每小题1分,共10分)12345678910×√√××√××××

应用题44分)1.(12分)011000101000100001010010000101001010DFS序列:ABDEFCBFS序列:ABCDFE2.

(8分)7192632321100010100000000010100001110113.

(10分)

直接插入排序70,73,69,23,93,18,11,68[70,73],69,23,93,18,11,68

[70,69,73],23,93,18,11,68

[23,70,69,73],93,18,11,68

[23,70,69,73,93],18,11,68

[18,23,70,69,73,93],11,68[11,18,23,70,69,73,93],68[11,18,23,68,70,69,73,93]快速排序[68,11,69,23,18]

,70,[93,73]4.

(8分)

0

1

2

3

4

5

6

7

8

9

101122

47921637298

ASL=5/3第一部分选择题一、单项选择题(本大题共14小题,每小题1分,共14分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。1.算法分析的目的是()A.找出数据结构的合理性B.研究算法中的输入/输出关系C.分析算法的效率以求改进D.分析算法的易读性2.在需要经常查找结点的前驱与后继的场合中,使用()比较合适。A.单链表B.双链表C.顺序表D.循环链表3.下面关于线性表的叙述中,错误的为()A.顺序表使用一维数组实现的线性表B.顺序表必须占用一片连续的存储单元C.顺序表的空间利用率高于链表D.在链表中,每个结点只有一个链域4.带头结点的单链表head为空的判断条件是()A.head=NILB.head↑.next=NILC.head↑.next=headD.head<>NIL5.队列通常采用两种存储结构是()A.顺序存储结构和链表存储结构B.散列方式和索引方式C.链表存储结构和数组D.线性存储结构和非线性存储结构6.按照二叉树的定义,具有3个结点的二叉树有()种。A.3B.4C.5D.68.深度为5的二叉树至多有()个结点。A.16B.32C.31D.109.对于一个具有n个顶点的无向图,若采用邻接表表示,则存放表头结点的数组的大小为()A.nB.n+1C.n-1D.n+边数10.在一个具有n个顶点的无向图中,要连通全部顶点至少需要()条边。A.nB.n+1C.n-1D.n/211.静态查找表与动态查找表二者的根本差别在于()A.它们的逻辑结构不一样B.施加在其上的操作不同C.所包含的数据元素的类型不一样D.存储实现不一样12.散列文件使用散列函数将记录的关键字值计算转化为记录的存放地址。因为散列函数不是一对一的关系,所以选择好的()方法是散列文件的关键。A.散列函数B.除余法中的质数C.冲突处理D.散列函数和冲突处理13.对于大文件的排序要研究在外设上的排序技术,即()A.快速排序法B.内排序法C.外排序法D.交叉排序法14.设有5000个无序的元素,希望用最快的速度挑选出其中前50个最大的元素,最好选用()法。A.冒泡排序B.快速排序C.堆排序D.基数排序二、判断题(判断下列各题,正确的在题干后面括号内打“√”,错误的打“×”。每小题2分,共20分)1.所谓数据的逻辑结构指的是数据元素之间的逻辑关系。()2.在线性结构中,每个结点都有一个直接前驱和一个直接后继。()3.插入和删除是数组的两种基本操作。()4.在链栈的头部必须要设置头结点。()5.在二叉树中插入结点则该二叉树便不再是二叉树。()6.查找表的逻辑结构是集合。()7.静态查找表的检索与修改被分成两个不交叉的阶段分别进行。()8.在索引顺序文件中插入新的记录时,必须复制整个文件。()9.如果某种排序算法是不稳定的,则该方法没有实际的应用价值。()10.对于n个记录的集合进行冒泡排序,在最坏情况下所需要的时间是0(n2)()三、填空题(每小题2分,共30分)1.程序设计的实质是________和________。2.设由字符串a=′data′、b=′structure′、c=′-′,则a与c连接然后与b连接的结果为:________。3.通常单链表的头结点指的是________;单链表的首结点指的是________。4.一个队列的入队序列是a、b、c、d,则队列的输出序列为________。5.栈结构通常采用的两种存储结构是________和________。6.具有N个结点的完全二叉树的深度为________。7.树的三种主要的遍历方法是:________、________和层次遍历。8.在无向图的邻接矩阵A中,若A〔i,j〕等于1,则A〔j,i〕等于________。9.采用散列技术实现散列表时,需要考虑的两个主要问题是:构造________和解决________。10.索引顺序表上的查找分两个阶段:(1)________;(2)________。11.散列文件中的记录通常是成组存放的。若干的记录组成一个存储单位,称作________。12.就文件而言,按用户的观点所确定的基本存储单元称为________。按外设的观点所确定的基本存储单元称为________。13.文件的检索有三种方式:________存取、________存取和按关键字存取。14.最简单的交换排序方法是________排序。15.外排序的基本方法是________。四、应用题(每小题6分,共18分)2.有一份电文中共使用五个字符:a、b、c、d、e,它们的出现频率依次为8、14、10、4、18,请构造相应的哈夫曼树(左子树根结点的权小于等于右子树根结点的权),求出每个字符的哈夫曼编码。3.有初始的无序序列为{98,65,38,40,12,51,100,77,26,88},给出对其进行归并排序(升序)的每一趟的结果。五、设计题(每小题6分,共18分)1.假设用一个循环单链表来表示队列(称为循环链队),该队列中只设一个队尾指针rear,不设队首指针。请编写向循环链队中插入一个元素X的过程。2.以邻接表为存储结构,写出连通图的深度优先搜索算法。3.设有一组关键字{19,01,23,14,55,20,84,27,68,11,10,77},采用散列函数:H(key)=keyMOD13,采用线性探测法解决冲突,试在0~18的散列地址空间中对该关键字序列构造散列表。数据结构导论试题参考答案一、单项选择题(每小题1分,共14分)1.C2.B3.D4.B5.A6.C7.B8.C9.A10.C11.B12.D13.C14.C二、判断题(每小题2分,共20分)1.×2.×3.×4.×5.×6.√7.√8.×9.×10.√三、填空题(每小题2分,共30分)1.(1)数据表示(2)数据处理。2.′data-structure′。3.(1)在单链表第一个结点之前增设的一个类型相同的结点(2)表结点中的第一个结点。4.a、b、c、d。5.(1)顺序存储结构(2)链表存储结构。6.〔log2N〕+1。7.(1)先根遍历(2)后根遍历。8.1。9.(1)散列函数(2)冲突。10.(1)确定待查元素所在的块(2)在块内查找待查的元素。11.桶。12.(1)逻辑结构(2)物理结构。13.(1)顺序(2)直接。14.冒泡排序。15.归并。四、相应的哈夫曼编码为:a:001b:10c:01d:000e:11画出正确的哈夫曼树给4分,写出相应哈夫曼编码给2分3.初始无序序列:986538401251100772688{98}{65}{38}{40}{12}{51}{100}{77}{26}{88}第一次归并:{6598}{3840}{1251}{77100}{2688}第二次归并:{38406598}{125177100}{2688}第三次归并:{12384051657798100}{2688}第四次归并:{122638405165778898100}3.构造过程如下:H(19)=19MOD13=6H(01)=01MOD13=1H(23)=23MOD13=10H(14)=14MOD13=1(冲突)H(14)=(1+1)MOD19=2H(55)=55MOD13=3H(20)=20MOD13=7H(84)=84MOD13=6(冲突)H(84)=(6+1)MOD19=7(仍冲突)H(84)=(6+2)MOD19=8H(27)=27MOD13=1(冲突)H(27)=(1+1)MOD19=2(冲突)H(27)=(1+2)MOD19=3(仍冲突)H(27)=(1+3)MOD19=4H(68)=68MOD13=3(冲突)H(68)=(3+1)MOD19=4(仍冲突)H(68)=(3+2)MOD19=5H(11)=11MOD13=11H(10)=10MOD13=10(冲突)H(10)=(10+1)MOD19=11(仍冲突)H(10)=(10+2)MOD19=12H(77)=77MOD13=12(冲突)H(77)=(12+1)MOD19=13因此,各关键字相应的地址分配如下:address(01)=1address(14)=2address(55)=3address(27)=4address(68)=5address(19)=6address(20)=7address(84)=8address(23)=10address(11)=11address(10)=12address(77)=13其余的地址中为空。第一章绪论一、选择题

1.组成数据的基本单位是()

(A)数据项(B)数据类型(C)数据元素(D)数据变量

2.数据结构是研究数据的()以及它们之间的相互关系。

(A)理想结构,物理结构(B)理想结构,抽象结构

(C)物理结构,逻辑结构(D)抽象结构,逻辑结构

3.在数据结构中,从逻辑上可以把数据结构分成()

(A)动态结构和静态结构(B)紧凑结构和非紧凑结构

(C)线性结构和非线性结构(D)内部结构和外部结构

4.数据结构是一门研究非数值计算的程序设计问题中计算机的(①)以及它们之间的(②)和运算等的学科。

①(A)数据元素(B)计算方法(C)逻辑存储(D)数据映像

②(A)结构(B)关系(C)运算(D)算法

5.算法分析的目的是()。

(A)找出数据结构的合理性(B)研究算法中的输入和输出的关系

(C)分析算法的效率以求改进(D)分析算法的易懂性和文档性

6.计算机算法指的是(①),它必须具备输入、输出和(②)等5个特性。

①(A)计算方法(B)排序方法(C)解决问题的有限运算序列(D)调度方法

②(A)可执行性、可移植性和可扩充性(B)可行性、确定性和有穷性

(C)确定性、有穷性和稳定性(D)易读性、稳定性和安全性

二、判断题

1.数据的机内表示称为数据的存储结构。()

2.算法就是程序。()

3.数据元素是数据的最小单位。()

4.算法的五个特性为:有穷性、输入、输出、完成性和确定性。()

5.算法的时间复杂度取决于问题的规模和待处理数据的初态。()

三、填空题

1.数据逻辑结构包括________、________、_________和_________四种类型,其中树形结构和图形结构合称为_____。

2.在线性结构中,第一个结点____前驱结点,其余每个结点有且只有______个前驱结点;最后一个结点______后续结点,其余每个结点有且只有_______个后续结点。

3.在树形结构中,树根结点没有_______结点,其余每个结点有且只有_______个前驱结点;叶子结点没有________结点,其余每个结点的后续结点可以_________。

4.在图形结构中,每个结点的前驱结点数和后续结点数可以_________。

5.线性结构中元素之间存在________关系,树形结构中元素之间存在______关系,图形结构中元素之间存在_______关系。

6.算法的五个重要特性是_______、_______、______、_______、_______。

7.数据结构的三要素是指______、_______和________。

8.链式存储结构与顺序存储结构相比较,主要优点是________________________________。

9.设有一批数据元素,为了最快的存储某元素,数据结构宜用_________结构,为了方便插入一个元素,数据结构宜用____________结构。四、算法分析题

1.求下列算法段的语句频度及时间复杂度参考答案:一、选择题1.C2.C3.C4.A、B5.C6.C、B二、判断题:1、√2、×3、×4、×5、√三、填空题1、线性、树形、图形、集合?;非线性(网状)2、没有;1;没有;13、前驱;1;后继;任意多个4、任意多个5、一对一;一对多;多对多6、有穷性;确定性;可行性;输入;输出7、数据元素;逻辑结构;存储结构8、插入、删除、合并等操作较方便9、顺序存储;链式存储四、算法分析题for(i=1;i<=n;i++)

for(j=1;j<=i;j++)

x=x+1;

分析:该算法为一个二重循环,执行次数为内、外循环次数相乘,但内循环次数不固定,与外循环有关,因些,时间频度T(n)=1+2+3+…+n=n*(n+1)/2

有1/4≤T(n)/n2≤1,故它的时间复杂度为O(n2),即T(n)与n2数量级相同。2、分析下列算法段的时间频度及时间复杂度

for(i=1;i<=n;i++)

for(j=1;j<=i;j++)

for(k=1;k<=j;k++)

x=i+j-k;

分析算法规律可知时间频度T(n)=1+(1+2)+(1+2+3)+...+(1+2+3+…+n)

由于有1/6≤T(n)/n3≤1,故时间复杂度为O(n3)第二章线性表一、选择题

1.一个线性表第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是()

(A)110(B)108(C)100(D)120

2.向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动()个元素。

(A)64(B)63(C)63.5(D)7

3.线性表采用链式存储结构时,其地址()。

(A)必须是连续的(B)部分地址必须是连续的

(C)一定是不连续的(D)连续与否均可以

4.在一个单链表中,若p所指结点不是最后结点,在p之后插入s所指结点,则执行()

(A)s->next=p;p->next=s;(B)s->next=p->next;p->next=s;

(C)s->next=p->next;p=s;(D)p->next=s;s->next=p;

5.在一个单链表中,若删除p所指结点的后续结点,则执行()

(A)p->next=p->next->next;(B)p=p->next;p->next=p->next->next;

(C)p->next=p->next;(D)p=p->next->next;

6.下列有关线性表的叙述中,正确的是()

(A)线性表中的元素之间隔是线性关系

(B)线性表中至少有一个元素

(C)线性表中任何一个元素有且仅有一个直接前趋

(D)线性表中任何一个元素有且仅有一个直接后继

7.线性表是具有n个()的有限序列(n≠0)

(A)表元素(B)字符(C)数据元素(D)数据项

二、判断题

1.线性表的链接存储,表中元素的逻辑顺序与物理顺序一定相同。()

2.如果没有提供指针类型的语言,就无法构造链式结构。()

3.线性结构的特点是只有一个结点没有前驱,只有一个结点没有后继,其余的结点只有一个前驱和后继。()

4.语句p=p->next完成了指针赋值并使p指针得到了p指针所指后继结点的数据域值。()

5.要想删除p指针的后继结点,我们应该执行q=p->next;p->next=q->next;free(q)。()

三、填空题

1.已知P为单链表中的非首尾结点,在P结点后插入S结点的语句为:_______________________。

2.顺序表中逻辑上相邻的元素物理位置()相邻,单链表中逻辑上相邻的元素物理位置_________相邻。

3.线性表L=(a1,a2,...,an)采用顺序存储,假定在不同的n+1个位置上插入的概率相同,则插入一个新元素平均需要移动的元素个数是________________________

4.在非空双向循环链表中,在结点q的前面插入结点p的过程如下:

p->prior=q->prior;

q->prior->next=p;

p->next=q;

______________________;

5.已知L是无表头结点的单链表,是从下列提供的答案中选择合适的语句序列,分别实现:

(1)表尾插入s结点的语句序列是_______________________________

(2)表尾插入s结点的语句序列是_______________________________p->next=s;p=L;L=s;p->next=s->next;s->next=p->next;s->next=L;s->next=null;while(p->next!=Q)?p=p-next;while(p->next!=null)p=p->next;四、算法设计题

1.试编写一个求已知单链表的数据域的平均值的函数(数据域数据类型为整型)。

2.已知带有头结点的循环链表中头指针为head,试写出删除并释放数据域值为x的所有结点的c函数。

3.某百货公司仓库中有一批电视机,按其价格从低到高的次序构成一个循环链表,每个结点有价格、数量和链指针三个域。现出库(销售)m台价格为h的电视机,试编写算法修改原链表。

4.某百货公司仓库中有一批电视机,按其价格从低到高的次序构成一个循环链表,每个结点有价格、数量和链指针三个域。现新到m台价格为h的电视机,试编写算法修改原链表。

5.线性表中的元素值按递增有序排列,针对顺序表和循环链表两种不同的存储方式,分别编写C函数删除线性表中值介于a与b(a≤b)之间的元素。

6.设A=(a0,a1,a2,...,an-1),B=(b0,b1,b2,...,bm-1)是两个给定的线性表,它们的结点个数分别是n和m,且结点值均是整数。

若n=m,且ai=bi(0≤i<n),则A=B;

若n<m,且ai=bi(0≤i<n),则A<B;

若存在一个j,j<m,j<n,且ai=bi(0≤i<j),若aj<bj,则A<B,否则A>B。

试编写一个比较A和B的C函数,该函数返回-1或0或1,分别表示A<B或A=B或A>B。

7.试编写算法,删除双向循环链表中第k个结点。

8.线性表由前后两部分性质不同的元素组成(a0,a1,...,an-1,b0,b1,...,bm-1),m和n为两部分元素的个数,若线性表分别采用数组和链表两种方式存储,编写算法将两部分元素换位成(b0,b1,...,bm-1,a0,a1,...,an-1),分析两种存储方式下算法的时间和空间复杂度。

9.用循环链表作线性表(a0,a1,...,an-1)和(b0,b1,...,bm-1)的存储结构,头指针分别为ah和bh,设计C函数,把两个线性表合并成形如(a0,b0,a1,b1,…)的线性表,要求不开辟新的动态空间,利用原来循环链表的结点完成合并操作,结构仍为循环链表,头指针为head,并分析算法的时间复杂度。

10.试写出将一个线性表分解为两个带有头结点的循环链表,并将两个循环链表的长度放在各自的头结点的数据域中的C函数。其中,线性表中序号为偶数的元素分解到第一个循环链表中,序号为奇数的元素分解到第二个循环链表中。

11.试写出把线性链表改为循环链表的C函数。

12.己知非空线性链表中x结点的直接前驱结点为y,试写出删除x结点的C函数。

参考答案:一、选择题1.B2.C3.D4.B5.A6.A7、C二、判断题:参考答案:1、×2、√3、×4、×5、√三、填空题1、s->next=p->next;p->next=s;2、一定;不一定3、n/24、q->prior=p;5、(1)6)3)

(2)2)9)1)7)四、算法设计题1、

#include"stdio.h"

#include"malloc.h"

typedefstructnode

{intdata;

structnode*link;

}NODE;

intaver(NODE*head)

{inti=0,sum=0,ave;NODE*p;

p=head;

while(p!=NULL)

{p=p->link;++i;

sum=sum+p->data;}

ave=sum/i;

return(ave);}2、

#include"stdio.h"

#include"malloc.h"

typedefstructnode

{

intdata;/*假设数据域为整型*/

structnode*link;

}NODE;

voiddel_link(NODE*head,intx)/*删除数据域为x的结点*/

{

NODE*p,*q,*s;

p=head;

q=head->link;

while(q!=head)

{if(q->data==x)

{p->link=q->link;

s=q;

q=q->link;

free(s);}

else

{

p=q;

q=q->link;

}

}

}3、

voiddel(NODE*head,floatprice,intnum)

{

NODE*p,*q,*s;

p=head;q=head->next;

while(q->price<price&&q!=head)

{

p=q;

q=q->next;

}

if(q->price==price)

q->num=q->num-num;

else

printf("无此产品");

if(q->num==0)

{

p->next=q->next;

free(q);

}

}4、

#include"stdio.h"

#include"malloc.h"

typedefstructnode

{

floatprice;

intnum;

structnode*next;

}NODE;

voidins(NODE*head,floatprice,intnum)

{

NODE*p,*q,*s;

p=head;q=head->next;

while(q->price<price&&q!=head)

{

p=q;

q=q->next;

}

if(q->price==price)

q->num=q->num+num;

else

{

s=(NODE*)malloc(sizeof(NODE));

s->price=price;

s->num=num;

s->next=p->next;

p->next=s;

}

}5、顺序表:

算法思想:从0开始扫描线性表,用k记录下元素值在a与b之间的元素个数,对于不满足该条件的元素,前移k个位置,最后修改线性表的长度。

voiddel(elemtypelist[],int*n,elemtypea,elemtypeb)

{

inti=0,k=0;

while(i<n)

{

if(list[i]>=a&&list[i]<=b)k++;

else

list[i-k]=list[i];

i++;

}

*n=*n-k;/*修改线性表的长度*/

}

循环链表:

voiddel(NODE*head,elemtypea,elemtypeb)

{

NODE*p,*q;

p=head;q=p->link;/*假设循环链表带有头结点*/

while(q!=head&&q->data<a)

{

p=q;

q=q->link;

}

while(q!=head&&q->data<b)

{

r=q;

q=q->link;

free(r);

}

if(p!=q)

p->link=q;

}6、

#defineMAXSIZE100

intlistA[MAXSIZE],listB[MAXSIZE];

intn,m;

intcompare(inta[],intb[])

{

inti=0;

while(a[i]==b[i]&&i<n&&i<m)

i++;

if(n==m&&i==n)return(0);

if(n<m&&i==n)return(-1);

if(n>m&&i==m)return(1);

if(i<n&&i<m)

if(a[i]<b[i])return(-1);

elseif(a[i]>b[i])return(1);

}7、

voiddel(DUNODE**head,inti)

{

DUNODE*p;

if(i==0)

{

*head=*head->next;

*head->prior=NULL;

return(0);

}

Else

{for(j=0;j<i&&p!=NULL;j++)

p=p->next;

if(p==NULL||j>i)return(1);

p->prior->next=p->next;

p->next->prior=p->proir;

free(p);

return(0);

}8.

顺序存储:

voidconvert(elemtypelist[],intl,inth)/*将数组中第l个到第h个元素逆置*/

{

inti;

elemtypetemp;

for(i=h;i<=(l+h)/2;i++)

{

temp=list[i];

list[i]=list[l+h-i];

list[l+h-i]=temp;

}

}

voidexchange(elemtypelist[],intn,intm);

{

convert(list,0,n+m-1);

convert(list,0,m-1);

convert(list,m,n+m-1);

}

该算法的时间复杂度为O(n+m),空间复杂度为O(1)

链接存储:(不带头结点的单链表)

typedefstructnode

{

elemtypedata;

structnode*link;

}NODE;

voidconvert(NODE**head,intn,intm)

{

NODE*p,*q,*r;

inti;

p=*head;

q=*head;

for(i=0;i<n-1;i++)

q=q->link;/*q指向an-1结点*/

r=q->link;

q->link=NULL;

while(r->link!=NULL)

r=r->link;/*r指向最后一个bm-1结点*/

*head=q;

r->link=p;

}

该算法的时间复杂度为O(n+m),但比顺序存储节省时间(不需要移动元素,只需改变指针),空间复杂度为O(1)

9.

typedefstructnode

{

elemtypedata;

structnode*link;

}NODE;

NODE*union(NODE*ah,NODE*bh)

{

NODE*a,*b,*head,*r,*q;

head=ah;

a=ah;

b=bh;

while(a->link!=ah&&b->link!=bh)

{

r=a->link;

q=b->link;

a->link=b;

b->link=r;

a=r;

b=q;

}

if(a->link==ah)/*a的结点个数小于等于b的结点个数*/

{

a->link=b;

while(b->link!=bh)

b=b->link;

b->link=head;

}

if(b->link==bh)/*b的结点个数小于a的结点个数*/

{

r=a->link;

a->link=b;

b->link=r;

}

return(head);

}

该算法的时间复杂度为O(n+m),其中n和m为两个循环链表的结点个数.

10.

typedefstructnode

{

elemtypedata;

structnode*link;

}NODE;

voidanalyze(NODE*a)

{

NODE*rh,*qh,*r,*q,*p;

inti=0,j=0;/*i为序号是奇数的结点个数j为序号是偶数的结点个数*/

p=a;

rh=(NODE*)malloc(sizeof(NODE));/*rh为序号是奇数的链表头指针*/

qh=(NODE*)malloc(sizeof(NODE));/*qh为序号是偶数的链表头指针*/

r=rh;

q=qh;

while(p!=NULL)

{

r->link=p;

r=p;

i++;

p=p->link;

if(p!=NULL)

{

q->link=p;

q=p;

j++;

p=p->link;

}

}

rh->data=i;

r->link=rh;

qh->data=j;

q->link=qh;

}

11.

typedefstructnode

{

elemtypedata;

structnode*link;

}NODE;

voidchange(NODE*head)

{

NODE*p;

p=head;

if(head!=NULL)

{

while(p->link!=NULL)

p=p->link;

p->link=head;

}

}

12.

typedefstructnode

{

elemtypedata;

structnode*link;

}NODE;

voiddel(NODE*x,NODE*y)

{

NODE*p,*q;

elemtyped1;

p=y;

q=x;

while(q->next!=NULL)/*把后一个结点数据域前移到前一个结点*/

{

p->data=q->data;

q=q->link;

p=q;

p->link=NULL;/*删除最后一个结点*/

free(q);

}

第三章栈和队列

一、选择题

1.一个栈的入栈序列是a,b,c,d,e,则栈的不可能的输出序列是()。

(A)edcba(B)decba(C)dceab(D)abcde

2.栈结构通常采用的两种存储结构是()。

(A)线性存储结构和链表存储结构(B)散列方式和索引方式

(C)链表存储结构和数组(D)线性存储结构和非线性存储结构

3.判定一个栈ST(最多元素为m0)为空的条件是()。

(A)ST-〉top!=0(B)ST-〉top==0

(C)ST-〉top!=m0(D)ST-〉top=m0

4.判定一个栈ST(最多元素为m0)为栈满的条件是()。

(A)ST->top!=0(B)ST->top==0

(C)ST->top!=m0-1(D)ST->top==m0-1

5.一个队列的入列序列是1,2,3,4,则队列的输出序列是()。

(A)4,3,2,1(B)1,2,3,4(C)1,4,3,2(D)3,2,4,1

6.循环队列用数组A[0,m-1]存放其元素值,已知其头尾指针分别是front和rear则当前队列中的元素个数是()

(A)(rear-front+m)%m(B)rear-front+1(C)rear-front-1(D)rear-front

7.栈和队列的共同点是()

(A)都是先进后出(B)都是先进先出

(C)只允许在端点处插入和删除元素(D)没有共同点

8.表达式a*(b+c)-d的后缀表达式是()。

(A)abcd*+-(B)abc+*d-(C)abc*+d-(D)-+*abcd

9.4个元素a1,a2,a3和a4依次通过一个栈,在a4进栈前,栈的状态,则不可能的出栈序是()

(A)a4,a3,a2,a1(B)a3,a2,a4,a1

(C)a3,a1,a4,a2(D)a3,a4,a2,a1

10.以数组Q[0..m-1]存放循环队列中的元素,变量rear和qulen分别指示循环队列中队尾元素的实际位置和当前队列中元素的个数,队列第一个元素的实际位置是()

(A)rear-qulen(B)rear-qulen+m

(C)m-qulen(D)1+(rear+m-qulen)%m

二、填空题

1.栈的特点是_______________________,队列的特点是__________________________。

2.线性表、栈和队列都是_____________________结构,可以在线性表的______________位置插入和删除元素,对于栈只能在________插入和删除元素,对于队列只能在_______插入元素和_________删除元素。

3.一个栈的输入序列是12345,则栈有输出序列12345是____________。(正确/错误)

4.设栈S和队列Q的初始状态皆为空,元素a1,a2,a3,a4,a5和a6依次通过一个栈,一个元素出栈后即进入队列Q,若6个元素出队列的顺序是a3,a5,a4,a6,a2,a1则栈S至少应该容纳_____个元素。

三、算法设计题

1.假设有两个栈s1和s2共享一个数组stack[M],其中一个栈底设在stack[0]处,另一个栈底设在stack[M-1]处。试编写对任一栈作进栈和出栈运算的C函数push(x,i)和pop(i),i=l,2。其中i=1表示左边的栈,,i=2表示右边的栈。要求在整个数组元素都被占用时才产生溢出。

2.利用两个栈s1,s2模拟一个队列时,如何用栈的运算来实现该队列的运算?写出模拟队列的插入和删除的C函数。

一个栈s1用于插入元素,另一个栈s2用于删除元素.参考答案:

一、选择题1.C2.A3.B4.B5.B6.B7、C8、C9、C10、D二、填空题1、先进先出;先进后出2、线性;任何;栈顶;队尾;对头3、正确的4、3

三、算法设计题1.

#defineM100

elemtypestack[M];

inttop1=0,top2=m-1;

intpush(elemtypex,inti)

{

if(top1-top2==1)return(1);/*上溢处理*/

else

if(i==1)stack[top1++]=x;

if(i==2)stack[top2--]=x;

return(0);

}

intpop(elemtype*px,inti)

{

if(i==1)

if(top1==0)return(1);

else

{

top1--;

*px=stack[top1];

return(0);

}

else

if(i==2)

if(top2==M-1)return(1);

else

{

top2++;

*px=stack[top2];

return(0);

}

}

2.

elemtypes1[MAXSIZE],s2[MAZSIZE];

inttop1,top2;

voidenqueue(elemtypex)

{

if(top1==MAXSIZE)return(1);

else

{

push(s1,x);

return(0);

}}

voiddequeue(elemtype*px)

{

elemtypex;

top2=0;

while(!empty(s1))

{

pop(s1,&x);

push(s2,x);

}

pop(s2,&x);

while(!empty(s2))

{

pop(s2,&x);

push(s1,x);

}

}第四章串

一、选择题

1.下列关于串的叙述中,正确的是()

(A)一个串的字符个数即该串的长度(B)一个串的长度至少是1

(C)空串是由一个空格字符组成的串(D)两个串S1和S2若长度相同,则这两个串相等

2.字符串"abaaabab"的nextval值为(?)

(A)(0,1,01,1,0,4,1,0,1)(B)(0,1,0,0,0,0,2,1,0,1)

(C)(0,1,0,1,0,0,0,1,1)(D)(0,1,0,1,0,1,0,1,1)

3.字符串满足下式,其中head和tail的定义同广义表类似,如head(‘xyz’)=‘x’,tail(‘xyz’)=‘yz’,则s=()。concat(head(tail(s)),head(tail(tail(s))))=‘dc’。

(A)abcd(B)acbd(C)acdb(D)adcb

4.串是一种特殊的线性表,其特殊性表现在()

(A)可以顺序存储(B)数据元素是一个字符

(C)可以链式存储(D)数据元素可以是多个字符

5.设串S1=‘ABCDEFG’,s2=‘PQRST’,函数CONCAT(X,Y)返回X和Y串的连接串,SUBSTR(S,I,J)返回串S从序号I开始的J个字符组成的字串,LENGTH(S)返回串S的长度,则CONCAT(SUBSTR(S1,2,LENGTH(S2)),SUBSTR(S1,LENGTH(S2),2))的结果串是()

(A)BCDEF(B)BCDEFG(C)BCPQRST(D)BCDEFEF

二、算法设计

1.分别在顺序存储和一般链接存储两种方式下,用C语言写出实现把串s1复制到串s2的串复制函数strcpy(s1,s2)。

2.在一般链接存储(一个结点存放一个字符)方式下,写出采用简单算法实现串的模式匹配的C语言函数intL_index(t,p)。参考答案:一、选择题1.A2.B3.D4.D5.D二、算法设计1.

顺序存储:

#include"string.h"

#defineMAXN100

chars[MAXN];

intS_strlen(chars[])

{

inti;

for(i=0;s[i]!='\0';i++);

return(i);

}

voidS_strcpy(chars1[],chars2[])//4.3题

{

inti;

for(i=0;s1[i]!='\0';i++)

s2[i]=s1[i];

s2[i]='\0';

}

一般链接存储:

#include"stdio.h"

typedefstructnode

{

chardata;

structnode*link;

}NODE;

NODE*L_strcpy(NODE*s1)

{

NODE*s2,*t1,*t2,*s;

if(s1==NULL)return(NULL);

else

{

t1=s1;

t2=(NODE*)malloc(sizeof(NODE));

s2=t2;

while(t1!=NULL)

{

s=(NODE*)malloc(sizeof(NODE));

s->data=t1->data;

t2->link=s;

t2=s;

t1=t1->link;

}

t2->link=NULL;

s=s2;

s2=s2->link;

free(s);

return(s2);

}

}

2.

#include"stdio.h"

typedefstructnode

{

chardata;

structnode*link;

}NODE;

intL_index(NODE*t,NODE*p)

{

NODE*t1,*p1,*t2;

?inti;

t1=t;i=1;

while(t1!=NULL)

{

p1=p;

t2=t1->link;

while(p1->data==t1->data&&p1!=NULL)

{

p1=p1->link;

t1=t1->link;

}

if(p1==NULL)return(i);

i++;

t1=t2;

}

return(0);

}第五章数组和广义表

一、选择题

1.常对数组进行的两种基本操作是()

(A)建立与删除(B)索引和修改(C)查找和修改(D)查找与索引

2.二维数组M的元素是4个字符(每个字符占一个存储单元)组成的串,行下标i的范围从0到4,列下标j的范围从0到5,M按行存储时元素M[3][5]的起始地址与M按列存储时元素()的起始地址相同。

(A)M[2][4](B)M[3][4](C)M[3][5](D)M[4][4]

3.数组A[8][10]中,每个元素A的长度为3个字节,从首地址SA开始连续存放在存储器内,存放该数组至少需要的单元数是()。

(A)80(B)100(C)240(D)270

4.数组A[8][10]中,每个元素A的长度为3个字节,从首地址SA开始连续存放在存储器内,该数组按行存放时,元素A[7][4]的起始地址为()。

(A)SA+141(B)SA+144(C)SA+222(D)SA+225

5.数组A[8][10]中,每个元素A的长度为3个字节,从首地址SA开始连续存放在存储器内,该数组按列存放时,元素A[4][7]的起始地址为()。

(A)SA+141(B)SA+180(C)SA+222(D)SA+225

6.稀疏矩阵一般的压缩存储方法有两种,即()。

(A)二维数组和三维数组(B)三元组和散列

(C)三元组和十字链表(D)散列和十字链表

7.若采用三元组压缩技术存储稀疏矩阵,只要把每个元素的行下标和列下标互换,就完成了对该矩阵的转置运算,这种观点()。

(A)正确(B)错误

8.设矩阵A是一个对称矩阵,为了节省存储,将其下三角部分按行序存放在一维数组B[1,n(n-1)/2]中,对下三角部分中任一元素ai,j(i<=j),在一组数组B的下标位置k的值是()。

(A)i(i-1)/2+j-1(B)i(i-1)/2+j(C)i(i+1)/2+j-1(D)i(i+1)/2+j

二、填空题

1.己知二维数组A[m][n]采用行序为主方式存储,每个元素占k个存储单元,并且第一个元素的存储地址是LOC(A[0][0]),则A[0][0]的地址是_____________________。

2.二维数组A[10][20]采用列序为主方式存储,每个元素占一个存储单元,并且A[0][0]的存储地址是200,则A[6][12]的地址是________________。

3.有一个10阶对称矩阵A,采用压缩存储方式(以行序为主,且A[0][0]=1),则A[8][5]的地址是__________________。

4.设n行n列的下三角矩阵A已压缩到一维数组S[1..n*(n+1)/2]中,若按行序为主存储,则A[i][j]对应的S中的存储位置是________________。

5.若A是按列序为主序进行存储的4×6的二维数组,其每个元素占用3个存储单元,并且A[0][0]的存储地址为1000,元素A[1][3]的存储地址为___________,该数组共占用_______________个存储单元。

三、算法设计

1.如果矩阵A中存在这样的一个元素A[i][j]满足条件:A[i][j]是第i行中值最小的元素,且又是第j列中值最大的元素,则称之为该矩阵的一个马鞍点。编写一个函数计算出1×n的矩阵A的所有马鞍点。

2.n只猴子要选大王,选举办法如下:所有猴子按1,2,...,n编号围坐一圈,从1号开始按1、2、...、m报数,凡报m号的退出到圈外,如此循环报数,直到圈内剩下只猴子时,这只猴子就是大王。n和m由键盘输入,打印出最后剩下的猴子号。编写一程序实现上述函数。

3.数组和广义表的算法验证程序

编写下列程序:

(1)求广义表表头和表尾的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论