数据结构与算法课后题答案(数据结构与算法课后题答案 清华大学出

http://www.itjxue.com  2023-02-10 06:41  来源:未知  点击次数: 

以下计算机中数据结构与算法的问题答案是什么?

(1) 用线性探测开放地址法处理冲突;

H(Jan)=10/2=5;

H(Feb)=6/2=3;

H(Mar)=13/2=6;

H(Apr)=1/2=0;

H(May)=13/2=6;冲突;H1=6+1=7;

H(June)=10/2=5;冲突;H1=5+1=6;冲突;H2=7;H3=8;

H(July)=5;H1=6;H2=7;H3=8;H4=9

H(Aug)=0;H1=1;

H(Sep)=9;H1=10;

H(Oct)=7;H1=8;H2=9;H3=10;H4=11;

H(Nov)=7;H1=8;H2=9;H3=10;H4=11;H5=12

H(Dec)=2

ASL=(1+2+1+1+1+1+2+4+5+2+5+6)/12=31/12

(2) 用链地址法处理冲突

H(Jan)=5;

H(Feb)=3;

H(Mar)=6;

H(Apr)=0;

H(May)=6

H(June)=5;

H(July)=5;

H(Aug)=0;;

H(Sep)=9;

H(Oct)=7;

H(Nov)=7;

H(Dec)=2

0-Apr-Aug

1-

2-Dec

3-Feb

4-

5-Jan-June-July

6-Mar-May

7-Oct-Nov

8-

9-Sep

ASL=(1+2+1+1+1+2+3+1+2+1+2+1)/12=18/12

数据结构与算法 求高手作答.感激不敬

第1题

题目类型: 单选题

题目:数据结构主要研究( 4 )

可选答案:

1.数据的逻辑结构

2.数据的存储结构

3.数据的逻辑结构和存储结构

4.数据的逻辑结构、存储结构以及数据在操作上的实现

第2题

题目类型: 单选题

题目:由于数据的逻辑结构通过不同的存储映像方法可得到不同的存储结构,常见的数据存储结构没有(3 )。

可选答案:

1.邻接存储结构

2.顺序存储结构

3.索引存储结构

4.散列存储结构

第3题

题目类型: 单选题

题目:我们在讨论某种数据结构时,主要讨论四个方面的问题,①数据的逻辑结构②数据的存储结构③在数据的逻辑结构上定义的数据的基本操作;④基本操作算法的具体实现;这四个问题的讨论的先后顺序应该是怎样的?(1 )

可选答案:

1.①②③④

2.①③②④

3.②①③④

4.②①④③

第4题

题目类型: 单选题

题目:线性链表是通过何种方式表示元素之间的关系 ( 1 )

可选答案:

1.后继元素地址

2.元素的存储顺序

3.左、右孩子地址

4.元素的相对存储位置

第5题

题目类型: 单选题

题目:用线性链表存储线性表时,要求存储空间 (2)

可选答案:

1.必须是连续的

2.连续不连续都可以

3.部分元素的存储空间必须是连续的

4.必须是不连续的

第6题

题目类型: 单选题

题目:对于经常要存取线性表任意指定位置元素的应用,线性表应采用 (1) 存储结构。

可选答案:

1.顺序存储结构

2.链式存储结构

3.线性链表

4.栈

第7题

题目类型: 单选题

题目:具有线性结构的数据结构是( 2 )

可选答案:

1.

赫夫曼树

2.栈

3.图

4.树

第8题

题目类型: 单选题

题目:一个栈的入栈序列是abcde,则栈的不可能的输出序列是(3 )。

可选答案:

1.edcba

2.decba

3.dceab

4.abcde

第9题

题目类型: 单选题

题目:向一个栈顶指针为HS的链栈中将一个S指针所指的结点入栈,执行(2 )。

可选答案:

1.HS-next=s

2.S-next=HS-next;HS-next=s

3.

S-next=HS;HS=s

4.S-next=HS;HS=HS-next

第10题

题目类型: 单选题

题目:下列说法正确的是 (2)

可选答案:

1.堆栈是在两端操作、先进后出的线性表

2.堆栈是在一端操作、先进后出的线性表

3.队列是在一端操作、先进先出的线性表

4.队列是在两端操作、后进先出的线性表

求数据结构与算法分析高人帮忙做下这几道题目。(希望能给出正确答案,在此谢过!!!)

填空题

1. n-1

因为队尾指针总是指向空。

2. 1

因为无向图的邻接矩阵是对称的。

3. 61

元素数量=

(rear+max-front) 当front rear

(front+max-rear) 当rear front

4. 深度优先搜索算法

5.

判断题

1. F

二叉树就可以用数组存储。

2. F

当发生冲突时,它要在下一个位置找,但如果该位置已被占用,仍需要继续向前。故同

义词不一定相邻。

3. F

图的邻接矩阵的行列数只取决于顶点数量。

4. F

没有最快的排序算法,只有特定条件下的相对较快。

5. T

选择题

1. D

2. B

Loc(a[6]) = Loc(a[1]) + (6-1)*2

= 90 + 10 =100

3. A

4. C

5. C

进堆排序时,每个元素在最底下的叶子层都有,然后较大的非叶子结点存储。

6. C

构造一棵二叉树:

/

* +

A + - F

B C D E

对该二叉树进行后序遍历即可。

7. C

折半查找要求查找表有序,并且可以根据下标定位,要求是直接存取。

顺序存储方式:可直接存取,但插入删除需耗时间

链式存储方式:只能顺序存取,插入删除方便

8. D

二次探测再散列法:

addr(key) = (初始哈希值+di)%表长

di=1、-1、4、-4、9、-9...

addr(15) = 15 % 11 = 4

addr(38) = 38 % 11 = 5

addr(61) = 61 % 11 = 6

addr(84) = 84 % 11 = 7

addr(49) = 49 % 11 = 5 有冲突

addr(49) = (5+1)%14=6 有冲突

addr(49) = (5-1)%14=4 有冲突

addr(49) = (5+4)%14=9

9. D

执行p的后继指针(next)指向p的直接后继结点(next)的下一个结点(next)即可

数据结构与算法试题,高分,求答案啊

3?已知一株非空二元树,其先根与中根遍历的结果为:

先根:ABCDEFGHI ?

中跟:CBEDAGFHI

将此二元树构造出来。

答:????????????????? A

/???? \

B??????? F

/? ?\??????/? ?\

C?? ? D?? G??? H

/??????????? ??? \

I????????????????? E

4.分析下列程序的运行时间:

A)????? void? mystery(int n)

{int? i, j, k;

for(i=1; in; i++)

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

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

{some? statement? requiring? O(1)? time;}

}

我的答案是 n3 不过不是很确定

B)void? podd(int? n)

{int? I, j, x, y;

for(I=1; I=n; I++)

if( odd(I ) )

{for(j=I; j=n; j++)

x=x+1;

for(j=1; j=I; j++)

y=y+1;

}

}

n2 也不是很确定

5?已知数学表达式是(3+b)sin(x+5)—a/x2,求该表达式的波兰表示法的前缀和后缀表示(要求给出过程)。

表达式对应的二叉树为

所以对应的前缀为:-*+3bsin+x5/a*xx

后缀为:3b+x5+sin*axx*/-

三 实现下列算法

在指针实现的线性表L中,实现在线性表L中删除关键字为x的结点。

答:

int visited[n];

void dfs(Graph g, int i)

{edgeNode *t;

printf(“%4d”,i);

visited[i]=1;

t=g[i];

while(t!=NULL) {

if (visited[t-vno]= =0)

dfs(g,t-vno);

t=t-next;

}

}

在线索二元树中,由结点P求其中根顺序的后继。

答:

typedef enum {lLINK ,THREAD} PointerTag ;? // LINK==0; 指针,

THREAD==1;线索

typedef struct BinThrNode {

TElemType data;

struct BinThrNode *lchilid, *rchild;

PointerTag ltag, rtag;

}? BinThrNode,* BinThrTree;

中序遍历线索二叉树

p所指结点前驱的求法:

当p-ltag==THREAD时,前驱为p-lchild;

当p-ltag==LINK时,前驱为p-lchild的最右下方结点。

在二元查找树F中,实现插入记录R。

答:

Void INSERT(records R, BST F)

{if(F= =NULL)

{F=new celltype;

F- data=R;

F-lchild=NULL;

F-rchild=NULL;}

else if(R,keyF-data.key)

INSERT(R,F-lchild);

else if(R,keyF-data.key)

INSERT(R,F-rchild);

}

四、对下面的带权连通无向图,用Prim(普里姆)算法,构造一株最小生成树。画出构造过程的每一步。(12分)

五 设要分类的数据存放在数组A

3 1 4 1 5 9 2 6 5 3

中,要进行堆分类,首先得为其建立一个初始堆,试画出初始建设堆过程中,二元树的变化和数组A的变化。

急求数据结构与算法分析(c++)第二版 课后答案

楼上的是用C语言描述的,这里有用C++描述的,地址:数据结构与算法分析.pdf

高分求数据结构与算法答案

1-5 ACDCC 6.你写的我分不清,答案是2的(i-1)次方7-10 CCCB 11-15 BDA()C

16-18 CDA 46-50 CCACB

14题 B_树 是不是biinary tree(二叉树)啊?,没说清楚,没法回答。

就一题了,估计你自己也能解决,这些题都很基础,不难。

(责任编辑:IT教学网)

更多

推荐站内动态文章