搜档网
当前位置:搜档网 › 数据结构1800题和答案第7章 图

数据结构1800题和答案第7章 图

数据结构1800题和答案第7章 图
数据结构1800题和答案第7章 图

第七章 图

一、选择题

1.图中有关路径的定义是( )。【北方交通大学 2001 一、24 (2分)】

A .由顶点和相邻顶点序偶构成的边所形成的序列

B .由不同顶点所形成的序列

C .由不同边所形成的序列

D .上述定义都不是 2.设无向图的顶点个数为n ,则该图最多有( )条边。

A .n-1

B .n(n-1)/2

C . n(n+1)/2

D .0

E .n 2

【清华大学 1998 一、5 (2分)】【西安电子科技大 1998 一、6 (2分)】 【北京航空航天大学 1999 一、7 (2分)】

3.一个n 个顶点的连通无向图,其边的个数至少为( )。【浙江大学 1999 四、4 (4分)】

A .n-1

B .n

C .n+1

D .nlogn ; 4.要连通具有n 个顶点的有向图,至少需要( )条边。【北京航空航天大学 2000 一、6(2分)】

A .n-l

B .n

C .n+l

D .2n 5.n 个结点的完全有向图含有边的数目( )。【中山大学 1998 二、9 (2分)】

A .n*n B.n (n +1) C .n /2 D .n*(n -l )

6.一个有n 个结点的图,最少有( )个连通分量,最多有( )个连通分量。

A .0

B .1

C .n-1

D .n 【北京邮电大学 2000 二、5 (20/8分)】

7.在一个无向图中,所有顶点的度数之和等于所有边数( )倍,在一个有向图中,所有顶点的入度之和等于所有顶点出度之和的( )倍。【哈尔滨工业大学 2001 二、3 (2分)】

A .1/2

B .2

C .1

D .4 8.用有向无环图描述表达式(A+B)*((A+B )/A ),至少需要顶点的数目为( )。【中山大学1999一、14】

A .5

B .6

C .8

D .9

9.用DFS 遍历一个无环有向图,并在DFS 算法退栈返回时打印相应的顶点,则输出的顶点序列是( )。

A .逆拓扑有序

B .拓扑有序

C .无序的 【中科院软件所 1998】

10.下面结构中最适于表示稀疏无向图的是( ),适于表示稀疏有向图的是( )。

A .邻接矩阵

B .逆邻接表

C .邻接多重表

D .十字链表

E .邻接表

【北京工业大学 2001 一、3 (2分)】

11.下列哪一种图的邻接矩阵是对称矩阵?( )【北方交通大学 2001 一、11 (2分)】

A .有向图

B .无向图

C .AOV 网

D .AO

E 网

12. 从邻接阵矩

可以看出,该图共有(①)个顶点;如果是有向图该图共有

(②) 条弧;如果是无向图,则共有(③)条边。【中科院软件所 1999 六、2(3分)】

①.A .9 B .3 C .6 D .1 E .以上答案均不正确 ②.A .5 B .4 C .3 D .2 E .以上答案均不正确 ③.A .5 B .4 C .3 D .2 E .以上答案均不正确

?????

?????=01

101

010A

a b e d c f 13.当一个有N 个顶点的图用邻接矩阵A 表示时,顶点Vi 的度是( )。【南京理工大学1998一、4(2分)】

A .

B .

C .

D .

+

14.用相邻矩阵A 表示图,判定任意两个顶点Vi 和Vj 之间是否有长度为m 的路径相连,则只要检查( )的第i 行第j 列的元素是否为零即可。【武汉大学 2000 二、7】

A .mA

B .A

C .A m

D .Am-1 15. 下列说法不正确的是( )。【青岛大学 2002 二、9 (2分)】

A .图的遍历是从给定的源点出发每一个顶点仅被访问一次 C .图的深度遍历不适用于有向图

B .遍历的基本算法有两种:深度遍历和广度遍历 D .图的深度遍历是一个递归过程 16.无向图G=(V,E),其中:V={a,b,c,d,e,f},E={(a,b),(a,e),(a,c),(b,e),(c,f),(f,d),(e,d)},对该图进行深度优先遍历,得到的顶点序列正确的是( )。【南京理工大学 2001 一、14 (1.5分)】

A .a,b,e,c,d,f

B .a,c,f,e,b,d

C .a,e,b,c,f,d

D .a,e,d,f,c,b 17. 设图如右所示,在下面的5个序列中,符合深度优先遍历的序列有多少?( )

【南京理工大学 2000 一、20 (1.5分)】

a e

b d f

c a c f

d

e b a e d

f c b a e f d c b a e f d b c

A .5个

B .4个

C .3个

D .2个

第17题图 第18题图

18.下图中给出由7个顶点组成的无向图。从顶点1出发,对它进行深度优先遍历得到的序列是( ① ),而进行广度优先遍历得到的顶点序列是( ② )。【中科院软件所 1999 六、2-(1)(2分)】

①.A .1354267 B .1347652 C .1534276 D .1247653 E .以上答案均不正确

②.A .1534267 B .1726453 C .l354276 D .1247653 E .以上答案均不正确

19.下面哪一方法可以判断出一个有向图是否有环(回路):【东北大学 2000 4、2(4分)】

A .深度优先遍历 B. 拓扑排序 C. 求最短路径 D. 求关键路径

20. 在图采用邻接表存储时,求最小生成树的 Prim 算法的时间复杂度为( )。

A. O(n)

B. O(n+e)

C. O(n 2)

D. O(n 3

) 【合肥工业大学 2001 一、2 (2分)】 21. 下面是求连通网的最小生成树的prim 算法:集合VT ,ET 分别放顶点和边,初始为( 1 ),

∑=n

i j i A 1

]

,[[]

∑=n

1

j j ,i A ∑=n

i i j A 1

]

,[∑=n

i j i A 1

],[[]

∑=n

1

j i ,j A

下面步骤重复n-1次: a:( 2 );b:( 3 );最后:( 4 )。【南京理工大学 1997 一、11_14 (8分)】

(1).A.VT,ET为空 B.VT为所有顶点,ET为空

C.VT为网中任意一点,ET为空 D.VT为空,ET为网中所有边(2).A. 选i属于VT,j不属于VT,且(i,j)上的权最小

B.选i属于VT,j不属于VT,且(i,j)上的权最大

C.选i不属于VT,j不属于VT,且(i,j)上的权最小

D.选i不属于VT,j不属于VT,且(i,j)上的权最大

(3).A.顶点i加入VT,(i,j)加入ET B. 顶点j加入VT,(i,j)加入ET C. 顶点j加入VT,(i,j)从ET中删去 D.顶点i,j加入VT,(i,j)加入ET

(4).A.ET 中为最小生成树 B.不在ET中的边构成最小生成树

C.ET中有n-1条边时为生成树,否则无解 D.ET中无回路时,为生成树,否则无解

22. (1). 求从指定源点到其余各顶点的迪杰斯特拉(Dijkstra)最短路径算法中弧上权不能为负的原因是在实际应用中无意义;

(2). 利用Dijkstra求每一对不同顶点之间的最短路径的算法时间是O(n3) ;(图用邻接矩阵表示)

(3). Floyd求每对不同顶点对的算法中允许弧上的权为负,但不能有权和为负的回路。

上面不正确的是()。【南京理工大学 2000 一、21 (1.5分)】

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

23.当各边上的权值( )时,BFS算法可用来解决单源最短路径问题。【中科院计算所2000一、3 (2分)】

A.均相等 B.均互不相等 C.不一定相等

24. 求解最短路径的Floyd算法的时间复杂度为( )。【合肥工业大学 1999 一、2 (2分)】

A.O(n) B. O(n+c) C. O(n*n) D. O(n*n*n)

25.已知有向图G=(V,E),其中V={V1,V2,V3,V4,V5,V6,V7},

E={,,,,,,,,},G的拓扑序列是()。

A.V1,V3,V4,V6,V2,V5,V7 B.V1,V3,V2,V6,V4,V5,V7

C.V1,V3,V4,V5,V2,V6,V7 D.V1,V2,V5,V3,V4,V6,V7

【北京航空航天大学 2000 一、7 (2分)】

26.若一个有向图的邻接距阵中,主对角线以下的元素均为零,则该图的拓扑有序序列()。

A.存在 B.不存在【中科院计算所1998 二、6 (2分)】【中国科技大学 1998二、6(2分)】

27.一个有向无环图的拓扑排序序列()是唯一的。【北京邮电大学 2001 一、3 (2分)】

A.一定 B.不一定

28. 在有向图G的拓扑序列中,若顶点Vi在顶点Vj之前,则下列情形不可能出现的是()。

A.G中有弧 B.G中有一条从Vi到Vj的路径

C.G中没有弧 D.G中有一条从Vj到Vi的路径

【南京理工大学 2000 一、9 (1.5分)】

29. 在用邻接表表示图时,拓扑排序算法时间复杂度为( )。

A. O(n)

B. O(n +e)

C. O(n*n)

D. O(n*n*n) 【合肥工业大学 2000 一、2 (2分)】【南京理工大学 2001 一、9 (1.5分)】 【青岛大学 2002 二、3 (2分)】 30. 关键路径是事件结点网络中( )。【西安电子科技大学 2001应用 一、4 (2分)】

A .从源点到汇点的最长路径

B .从源点到汇点的最短路径

C .最长回路

D .最短回路 31. 下面关于求关键路径的说法不正确的是( )。【南京理工大学 1998 一、12 (2分)】 A .求关键路径是以拓扑排序为基础的

B .一个事件的最早开始时间同以该事件为尾的弧的活动最早开始时间相同

C .一个事件的最迟开始时间为以该事件为尾的弧的活动最迟开始时间与该活动的持续时间的差

D .关键活动一定位于关键路径上

32.下列关于AOE 网的叙述中,不正确的是( )。

A .关键活动不按期完成就会影响整个工程的完成时间

B .任何一个关键活动提前完成,那么整个工程将会提前完成

C .所有的关键活动提前完成,那么整个工程将会提前完成

D .某些关键活动提前完成,那么整个工程将会提前完成 【北方交通大学 1999 一、7 (3分)】【北京工业大学 1999 一、1 (2分)】

二、判断题

1.树中的结点和图中的顶点就是指数据结构中的数据元素。( )【青岛大学 2001 四、1 (1分)】 2.在n 个结点的无向图中,若边数大于n-1,则该图必是连通图。( )【中科院软件所1997一、4(1分)】

3.对有n 个顶点的无向图,其边数e 与各顶点度数间满足下列等式e=

。( )

【南京航空航天大学 1996 六、4 (1分)】 4. 有e 条边的无向图,在邻接表中有e 个结点。( )【南京理工大学 1998 二、5 (2分)】

5. 有向图中顶点V 的度等于其邻接矩阵中第V 行中的1的个数。( )【合肥工业大学2001二、7(1分)】

6.强连通图的各顶点间均可达。( )【北京邮电大学 2000 一、3 (1分)】 7.强连通分量是无向图的极大强连通子图。( )【北京邮电大学 2002 一、7 (1分)】 8.连通分量指的是有向图中的极大连通子图。( )【燕山大学 1998 二、4 (2分)】 9.邻接多重表是无向图和有向图的链式存储结构。( )【南京航空航天大学 1995 五、5 (1分)】

10. 十字链表是无向图的一种存储结构。( )【青岛大学 2001 四、7 (1分)】 11. 无向图的邻接矩阵可用一维数组存储。( )【青岛大学 2000 四、5 (1分)】 12.用邻接矩阵法存储一个图所需的存储单元数目与图的边数有关。( )

【东南大学 2001 一、4 (1分)】 【中山大学 1994 一、3 (2分)】

13.有n 个顶点的无向图, 采用邻接矩阵表示, 图中的边数等于邻接矩阵中非零元素之和

∑=n

i Vi TD 1

)

(

的一半。()

【北京邮电大学 1998 一、5 (2分)】

14. 有向图的邻接矩阵是对称的。()【青岛大学 2001 四、6 (1分)】

15.无向图的邻接矩阵一定是对称矩阵,有向图的邻接矩阵一定是非对称矩阵。()【东南大学 2001 一、3 (1分)】【哈尔滨工业大学 1999 三、4】

16. 邻接矩阵适用于有向图和无向图的存储,但不能存储带权的有向图和无向图,而只能使

用邻接表存储形式来存储它。()【上海海运学院 1995 一、9(1分) 1997 一、8(1分)1998 一、9(1分)】

17. 用邻接矩阵存储一个图时,在不考虑压缩存储的情况下,所占用的存储空间大小与图中

结点个数有关,而与图的边数无关。()【上海海运学院 1996 一、8 (1分) 1999 一、9 (1分)】

18.一个有向图的邻接表和逆邻接表中结点的个数可能不等。()【上海交通大学 1998 一、12】

19.需要借助于一个队列来实现DFS算法。()【南京航空航天大学 1996 六、8 (1分)】20. 广度遍历生成树描述了从起点到各顶点的最短路径。()【合肥工业大学 2001 二、

8 (1分)】

21.任何无向图都存在生成树。()【北京邮电大学 2000 一、1 (1分)】

22. 不同的求最小生成树的方法最后得到的生成树是相同的.()【南京理工大学 1998

二、3 (2分)】

23.带权无向图的最小生成树必是唯一的。()【南京航空航天大学 1996 六、7 (1分)】24. 最小代价生成树是唯一的。()【山东大学 2001 一、5 (1分)】

25.一个网(带权图)都有唯一的最小生成树。()【大连海事大学 2001 一、14 (1分)】

26.连通图上各边权值均不相同,则该图的最小生成树是唯一的。()【哈尔滨工业大学1999 三、3】

27.带权的连通无向图的最小(代价)生成树(支撑树)是唯一的。()【中山大学 1994

一、10(2分)】

28. 最小生成树的KRUSKAL算法是一种贪心法(GREEDY)。()【华南理工大学 2002 一、

6(1分)】

29. 求最小生成树的普里姆(Prim)算法中边上的权可正可负。()【南京理工大学 1998

二、2 (2分)】

30.带权的连通无向图的最小代价生成树是唯一的。()【东南大学 2001 一、5(1分)】31. 最小生成树问题是构造连通网的最小代价生成树。()【青岛大学 2001 四、10(1分)】

32. 在图G的最小生成树G1中,可能会有某条边的权值超过未选边的权值。()

【合肥工业大学 2000 二、7(1分)】

33. 在用Floyd 算法求解各顶点的最短路径时,每个表示两点间路径的path k-1[I,J]一定是path k [I,J]的子集(k=1,2,3,…,n)。()【合肥工业大学 2000 二、6 (1分)】

34.拓扑排序算法把一个无向图中的顶点排成一个有序序列。()【南京航空航天大学1995

五、8(1分)】

35.拓扑排序算法仅能适用于有向无环图。()【南京航空航天大学 1997 一、7 (1分)】36. 无环有向图才能进行拓扑排序。()【青岛大学 2002 一、7 (1分)2001 一、8 (1分)】

37. 有环图也能进行拓扑排序。()【青岛大学 2000 四、6 (1分)】

38.拓扑排序的有向图中,最多存在一条环路。()【大连海事大学 2001 一、6(1分)】39.任何有向图的结点都可以排成拓扑排序,而且拓扑序列不唯一。()【上海交通大学1998 一、13】

40. 既使有向无环图的拓扑序列唯一,也不能唯一确定该图。()【合肥工业大学 2001

二、6(1分)】

41.若一个有向图的邻接矩阵对角线以下元素均为零,则该图的拓扑有序序列必定存在。()

【中科院软件所 1997 一、5 (1分)】

42.AOV网的含义是以边表示活动的网。()【南京航空航天大学 1995 五、7 (1分)】43.对一个AOV网,从源点到终点的路径最长的路径称作关键路径。【南京航空航天大学1995

五、9(1分)】

44. 关键路径是AOE网中从源点到终点的最长路径。()【青岛大学2000 四、10(1分)】

45. AOE网一定是有向无环图。()【青岛大学 2001 一、9 (1分)】

46. 在表示某工程的AOE网中,加速其关键路径上的任意关键活动均可缩短整个工程的完成时间。()

【长沙铁道学院 1997 一、2 (1分)】

47.在AOE图中,关键路径上某个活动的时间缩短,整个工程的时间也就必定缩短。()【大连海事大学 2001 一、15 (1分)】

48.在AOE图中,关键路径上活动的时间延长多少,整个工程的时间也就随之延长多少。()

【大连海事大学 2001 一、16 (1分)】

49.当改变网上某一关键路径上任一关键活动后,必将产生不同的关键路径。【上海交通大学1998 一、14】

三、填空题

1.判断一个无向图是一棵树的条件是______。

2.有向图G的强连通分量是指______。【北京科技大学 1997 一、7】

3.一个连通图的______是一个极小连通子图。【重庆大学 2000 一、1】

4.具有10个顶点的无向图,边的总数最多为______。【华中理工大学 2000 一、7 (1分)】5.若用n表示图中顶点数目,则有_______条边的无向图成为完全图。【燕山大学1998 一、6(1分)】

6. 设无向图 G 有n 个顶点和e 条边,每个顶点Vi 的度为di(1<=i<=n〉,则e=______

【福州大学 1998 二、2 (2分)】

7.G是一个非连通无向图,共有28条边,则该图至少有______个顶点。

【西安电子科技大 2001软件一、8 (2分)】

8. 在有n个顶点的有向图中,若要使任意两点间可以互相到达,则至少需要______条弧。

【合肥工业大学 2000 三、8 (2分)】

9.在有n个顶点的有向图中,每个顶点的度最大可达______。【武汉大学 2000 一、3】10.设G为具有N个顶点的无向连通图,则G中至少有______条边。

【长沙铁道学院 1997 二、2 (2分)】

11.n个顶点的连通无向图,其边的条数至少为______。【哈尔滨工业大学2000 二、2(1分)】

12.如果含n个顶点的图形形成一个环,则它有______棵生成树。

【西安电子科技大学 2001软件一、2 (2分)】

13.N个顶点的连通图的生成树含有______条边。【中山大学 1998 一、9 (1分)】

14.构造n个结点的强连通图,至少有______条弧。【北京轻工业学院 2000 一、4(2分)】

15.有N个顶点的有向图,至少需要量______条弧

才能保证是连通的。【西南交通大学 2000 一、3】

16.右图中的强连通分量的个数为()个。

【北京邮电大学 2001 二、5 (2分)】

17.N个顶点的连通图用邻接矩阵表示时,该矩阵

至少有_______个非零元素。【中科院计算所1998 一、6(1分)】【中国科技大学1998 一、6(15/6分)】

18.在图G的邻接表表示中,每个顶点邻接表中所含的结点数,对于无向图来说等于该顶点的______;对于有向图来说等于该顶点的______。

【燕山大学 2001 二、5 (3分)】

19. 在有向图的邻接矩阵表示中,计算第I个顶点入度的方法是______。【青岛大学2002

三、7 (2分)】

20. 对于一个具有n个顶点e条边的无向图的邻接表的表示,则表头向量大小为______,邻接表的边结点个数为______。【青岛大学 2002 三、8 (2分)】

21. 遍历图的过程实质上是______,breath-first search遍历图的时间复杂度______;depth-first search遍历图的时间复杂度______,两者不同之处在于______,反映在数据结构上的差别是______。

【厦门大学 1999 一、3】

22. 已知一无向图G=(V,E),其中V={a,b,c,d,e } E={(a,b),(a,d),(a,c),(d,c),(b,e)}现用某一种图遍历方法从顶点a开始遍历图,得到的序列为abecd,则采用的是______遍历方法。

【南京理工大学 1996 二、2 (2分)】

23. 一无向图G(V,E),其中V(G)={1,2,3,4,5,6,7},E(G)={(1,2),(1,3),(2,4),(2,5),(3,6),(3,7),(6,7)(5,1)},对该图从顶点3开始进行遍历,去掉遍历中未走过的边,得一生成树G’(V,E’),V(G’)=V(G),E(G’)={(1,3),(3,6),(7,3),(1,2),(1,5),(2,4)},则采用的遍历方法是______。

【南京理工大学 1997 三、6 (1分)】

24. 为了实现图的广度优先搜索,除了一个标志数组标志已访问的图的结点外,还需______存放被访问的结点以实现遍历。【南京理工大学 1999 二、9 (2分)】

25. 按下图所示,画出它的广度优先生成树______和深度优先生成树______。

【西安电子科技大学 1998 三、6 (5分)】

26.构造连通网最小生成树的两个典型算法是______。【北京科技大学 1998 一、5】27.求图的最小生成树有两种算法,______算法适合于求稀疏图的最小生成树。

【南京理工大学 2001 二、6(2分)】

28. Prim(普里姆)算法适用于求______的网的最小生成树;kruskal(克鲁斯卡尔)算法适用于求______的网的最小生成树。【厦门大学 1999 一、4】

29.克鲁斯卡尔算法的时间复杂度为______,它对______图较为适合。【中科院计算所 1999 二、3 (2分)】

30.对于含N个顶点E条边的无向连通图,利用Prim算法生成最小代价生成树其时间复杂度为______,利用Kruskal算法生成最小代价生成树其时间复杂度为______。【长沙铁道学院 1998 二、2 (4分)】

31.下面描述的是一种构造最小生成树算法的基本思想。设要处理的无向图包括n个节点V1,V2,...,Vn,用相邻矩阵A表示,边的权全是正数。请在下列划线处填上正确叙述。(1).若(Vi,Vj)是边,则A(i,j)的值等于______,若(Vi,Vj)不是边,则A(i,j)的值是一个比任何边的权______,矩阵的对角线元素全为0。

(2).构造最小生成树过程中,若节点Vi已包括进生成树,就把相邻矩阵的对角线元素A(i,i)置成______,若(Vi,Vj)已包括进生成树,就把矩阵元素A(i,j)置成______。(3).算法结束时,相邻矩阵中_____的元素指出最小生成树的_____。【山东工业大学1998

二、4(6分)】

32. 有一个用于n个顶点连通带权无向图的算法描述如下:

(1).设集合T1与T2,初始均为空;

(2).在连通图上任选一点加入T1;

(3).以下步骤重复n-1次:

a.在i属于T1,j不属于T1的边中选最小权的边;

b.该边加入T2。

上述算法完成后,T2中共有______条边,该算法称______算法,T2中的边构成图的______。

【南京理工大学 1999 二、7 (4分)】

33. 有向图G可拓扑排序的判别条件是______。【长沙铁道学院 1998 二、9(2分)】

34. Dijkstra最短路径算法从源点到其余各顶点的最短路径的路径长度按______次序依次产生,该算法弧上的权出现______情况时,不能正确产生最短路径。【南京理工大学1999

二、8(4分)】

35. 求从某源点到其余各顶点的Dijkstra算法在图的顶点数为10,用邻接矩阵表示图时计算时间约为10ms,则在图的顶点数为40,计算时间约为______ms。【南京理工大学 2000 二、3 (1.5分)】

36.求最短路径的Dijkstra算法的时间复杂度为______。【哈尔滨工业大学 2001 一、5 (2分)】

37.有向图G=(V,E),其中V(G)={0,1,2,3,4,5},用三元组表示弧及弧上的权

d.E(G)为{<0,5,100>,<0,2,10><1,2,5><0,4,30><4,5,60><3,5,10><2,3,50><4,3,20>},则从源点0到顶点3的最短路径长度是______,经过的中间顶点是______。【南京理工大学1998 三、6 (4分)】

38. 上面的图去掉有向弧看成无向图则对应的最小生成树的边权之和为______。

【南京理工大学 1998 三、7(4分)】

39.设有向图有n个顶点和e条边,进行拓扑排序时,总的计算时间为______。

【西安电子科技大学 1999软件一、7 (2分)】【武汉大学 2000 一、7】40.AOV网中,结点表示______,边表示______。AOE网中,结点表示______,边表示______。

【北京理工大学 2001 七、3 (2分)】

41.在AOE网中,从源点到汇点路径上各活动时间总和最长的路径称为______。【重庆大学

2000一、2】

42.在 AOV网中,存在环意味着______,这是______的;对程序的数据流图来说,它表

明存在______。

【厦门大学 1999 一、2】

43. 当一个AOV网用邻接表表示时,可按下列方法进行拓扑排序。

(1).查邻接表中入度为______的顶点,并进栈;

(2).若栈不空,则①输出栈顶元素Vj,并退栈;②查Vj的直接后继Vk,对Vk入度处理,处理方法是______;

(3).若栈空时,输出顶点数小于图的顶点数,说明有______,否则拓扑排序完成。

【南京理工大学 1996 二、3 (6分)】

44.已知图的邻接表结构为:

CONST vtxnum={图的顶点数}

TYPE vtxptr=1..vtxnum;

arcptr=^arcnode;

arcnode=RECORD adjvex:vtxptr; nextarc:arcptr END;

vexnode=RECORD vexdata:{和顶点相关的信息};firstarc:arcptr END;

adjlist=ARRAY[vtxptr]OF vexnode;

本算法是实现图的深度优先遍历的非递归算法。其中,使用一个顺序栈stack。栈顶指针为top。visited为标志数组。

PROC dfs(g:adjlist;v0:vtxptr);

top=0; write(v0); visited[v0]:=ture; p:=g[v0].firstarc;

WHILE (top<>0)OR(p<>NIL)DO

[WHILE(1)_______DO

[v:=p^.adjvex;

IF(2)_______ THEN p:=p^.nextarc

ELSE [write(v); visited[v]:=true; top:=top+1; stack[top]:=p;

(3)_______] ]

IF top<>0 THEN[p:=stack[top]; top:=top-1; (4)_______]

]

ENDP.同济大学 2000 二、2 (10分)】

45.下面的算法完成图的深度优先遍历,请填空。

PROGRAM graph_traver;

CONST nl=max_node_number;

TYPE vtxptr=1..nl; vtxptr0=0..nl;

arcptr=^arcnode;

arcnode=RECORD vexi ,vexj: vtxptr; nexti, nextj: arcptr; END;;

vexnode=RECORD vexdata: char; firstin,firstout: arcptr; END;

graph=ARRAY[vtxptr0] OF vexnode ;

VAR ga:graph; n: integer;

visited: ARRAY[vtxptr0] OF boolean ;

FUNC order (g: graph; v: char): vtxptr;

(1)_______; i:=n;

WHILE g[i].vexdata<>v DO i:=i-1;

order:=i;

ENDF;

PROC creat(var g: graph);

readln(n,e);

FOR i:= 1 TO n DO [readln(g[i].vexdata); g[i].firstin :=NIL ;

g[i].firstout:=NIL;]

FOR k:= 1 TO e DO [readln (vt,vh);

i:=order (g,vt); j:=order (g,vh); new (p); p^.vexi:=i ; p^.vexj:=j

p^.nextj:= ____(2)____; ___(3)____ :=p;

p^.nexti:=: ____(4)____; ___(5)____ :=p;]

ENDP;

FUNC firstadj(g:graph; v:char): vtxptr0;

i:=order(g,v); p:=g[i].firstout;

IF p<>NIL THEN firstadj:=(6)_______ELSE firstadj:=0;

ENDF;

FUNC nextadj(g:graph; v:char; w:char): vtxptr0;

i:=order(g,v); j:=order(g,w); p:=(7)_______;

WHILE(p<>NIL ) AND (p^.vexj<>j) DO(8)______;

IF (9)______AND(10)______THEN nextadj:=p^.nexti^.vexj ELSE nextadj:=0;

ENDF;

PROC dfs(g:graph; v0:char);

write(v0:2); visited[order(g,v0)]:=true; w:=(11)_______;

WHILE w<>0 DO

[IF (12)______ THEN dfs(g,g[w].vexdata);

w:=(13)_______;]

ENDP;

PROC traver(g:graph);

FOR i:=1 TO n DO visited[i]:=false;

FOR i:=1 TO n DO IF NOT visited[i] THEN dfs(g,g[i].vexdata);

ENDP;

BEGIN

creat(ga); traver(ga);

END. 【北方交通大学 1999 三(20分)】

46.n个顶点的有向图用邻接矩阵array表示,下面是其拓扑排序算法,试补充完整。

注:(1).图的顶点号从0开始计;(2).indegree 是有n个分量的一维数组,放顶点的入度;

(3).函数 crein 用于算顶点入度;(4).有三个函数push(data),pop( ),check( )其含义为数据 data进栈,退栈和测试栈是否空(不空返回1,否则0)。

crein( array ,indegree,n)

{ for (i=0;i

for (j=0;j

}

topsort (array,indegree,n)

{ count= ((4)_______)

for (i=0;i

while (check( ))

{ vex=pop( ); printf(vex); count++;

for (i=0;i

{ k=array(6)_______

if ((7)_______ ) { indegree[i]--; if ((8)_______ ) push(i); }

}

}

if( count

} 【南京理工大学 2000 三、4 (6分)】

47.假设给定的有向图是用邻接表表示,作为输入的是图中顶点个数n和边的个数m, 以及

图的m条边。在下面的程序中,我们用readdata程序过程输入图的信息,并建立该图的邻

接表;利用topol程序过程获得图中顶点的一个拓扑序列。

PROGRAM topol_order(input , output) ;

CONST maxn=20 ;

TYPE nodeptr=^nltype ;

nltype=RECORD num : integer ; link : nodeptr END ;

chtype=RECORD count : integer ; head : nodeptr END ;

VAR ch : ARRAY [1 .. maxn] OF chtype ; m , n , top : integer ;

PROCEDURE readdata ;

VAR i , j , u , v : integer ; p : nodeptr ;

BEGIN

write (′input vertex number n= ′); readln (n) ;

write (′input edge number m= ′); readln(m) ;

FOR i:=1 TO n DO BEGIN ch[i].count:= 0; ch[i].head:=NIL END;

writeln(′input edges :′);

FOR j:= 1 TO m DO

BEGIN write( j :3 , ′: ′) ; readln( u , v ) ; new( p ) ;

ch[v].count:=ch[v].count+1; p^.num:=v; (1) ___ ; (2) __; END

END ;

PROCEDURE topol ;

VAR i, j, k: integer; t: nodeptr ;

BEGIN

top:= 0 ;

FOR i := 1 TO n DO

IF ch[i].count=0 THEN BEGIN ch[i].count := top ;top := i END;

i:= 0 ;

WHILE (3) ___ DO

BEGIN (4) __; (5) __ ; write(j : 5) ;i:= i + 1 ;t:=ch[j].head ;

WHILE t<>NIL DO

BEGIN k := t^.num ; ch[k].count:=ch[k].count–1 ;

IF ch[k].count=0 THEN BEGIN ch[k].count:=top; top:=k

END;

(6) ______ ; END

END ; writeln;

IF i

readdata ; writeln (′output topol order : ′); topol END. 【复旦大学 1995 三 (18分)】 48.如下为拓扑排序的C 程序,

(1).列出对右图执行该程序后的输出结果。

(2).在程序空白处填上适当语句。 void topsort(hdnodes graph [],int n) {int i,j,k,top; node_pointer ptr ; top=-1;

for (i=0; i

if (!graph[i].count){graph[i].count=top; top=i; } for (i=0; i

if(1)____ {fprintf(stderr, "\ngraph has a cycle \n"); exit(1); } else {j=top;(2)_____; printf( "v%d, " ,j) ;

for (ptr=graph[j].link; ptr; ptr=ptr->link) {k=ptr->vertex; graph[k].count--;

if((3)_____) {graph[k].count=top; top=k; } } } } 【浙江大学 2000 六(15分)】

四、 应用题 1.(1).如果G1是一个具有n 个顶点的连通无向图,那么G1最多有多少条边?G1最少有多少条边? (2).如果G2是一个具有n 个顶点的强连通有向图,那么G2最多有多少条边?G2最少有多少条边? (3).如果G3是一个具有n 个顶点的弱连通有向图,那么G3最多有多少条边?G3最少有多少条边?

【复旦大学 1997 一(9分)】

2.n 个顶点的无向连通图最少有多少条边?n 个顶点的有向连通图最少有多少条边?

【山东大学 2000 一、3 (4分)】

3.一个二部图的邻接矩阵A 是一个什么类型的矩阵?【北京科技大学 1999 一、8(2分)】 4.证明:具有n 个顶点和多于n-1条边的无向连通图G 一定不是树。【东南大学 1993 四(10分)】

5.证明对有向图的顶点适当的编号,可使其邻接矩阵为下三角形且主对角线为全0的充要条件是该图为无环图。【北京邮电大学 2002 三 (10分)】

6.用邻接矩阵表示图时,矩阵元素的个数与顶点个数是否相关?与边的条数是否有关?

【西安电子科技大学 2000计应用 一、6(5分)】 7.请回答下列关于图(Graph)的一些问题:(每题4分) (1).有n 个顶点的有向强连通图最多有多少条边?最少有多少条边? (2).表示有1000个顶点、l000条边的有向图的邻接矩阵有多少个矩阵元素?是否稀

疏矩阵?

(3).对于一个有向图,不用拓扑排序,如何判断图中是否存在环?【清华大学2000一

V1 V2 V3 V4

V5

V6

(12分)】

8.解答问题。设有数据逻辑结构为:

B = (K, R), K = {k1, k2, …, k9}

R={, , ,, , ,, , , , }

(1).画出这个逻辑结构的图示。(3分)

(2).相对于关系r, 指出所有的开始接点和终端结点。(2分)

(3).分别对关系r中的开始结点,举出一个拓扑序列的例子。(4分)

(4).分别画出该逻辑结构的正向邻接表和逆向邻接表。(6分)【山东工业大学 1999 三(15分)】

9.有向图的邻接表存储如下:(1).画出其邻接矩阵存储;(2).写出图的所有强连通分量;(3).写出顶点a到顶点i的全部简单路径。【东北大学 1997 一、5 (5分)】

10.试用下列三种表示法画出网G 的存储结构,并评述这三种表示法的优、缺点:(1).邻接矩阵表示法; (2).邻接表表示法; (3).其它表示法。【华中理工大学2000 三(12分)】

11.已知无向图G,V(G)={1,2,3,4},E(G)={(1,2),(1,3),(2,3),(2,4),(3,4)}试画出G的邻接多表,并说明,若已知点I,如何根据邻接多表找到与I相邻的点j?

【东南大学 1994 一、2 (8分) 1998 一、6(8分)】

12.如何对有向图中的顶点号重新安排可使得该图的邻接矩阵中所有的1都集中到对角线以上?

【清华大学 1999 一、5 (2分)】

13.假定G=(V,E)是有向图,V={1,2,...,N},N>=1,G以邻接矩阵方式存储,G 的邻接矩阵为A,即A是一个二维数组,如果i到j有边,则A[i,j]=1,否则A[i,j]=0,请给出一个算法,该算法能判断G是否是非循环图(即G中是否存在回路),要求算法的时间复杂性为O(n*n)。

【吉林大学 1998 三(16分)】

14.首先将如下图所示的无向图给出其存储结构的邻接链表表示,然后写出对其分别进行深度,广度优先遍历的结果。【天津大学 1999 一】

15.下面的邻接表表示一个给定的无向图

(1)给出从顶点v1开始,对图G用深度优先搜索法进行遍历时的顶点序列;

(2)给出从顶点v1开始,对图G用广度优先搜索法进行遍历时的顶点序列。【复旦大学1998六(10分))

15题图 14题图 16题图

16.给出图G :

(1).画出G 的邻接表表示图; (2).根据你画出的邻接表,以顶点①为根,画出G 的深度优先生成树和广度优先生成树。 【南开大学 1997 五 (14分)】

17.设G=(V,E)以邻接表存储,如图所示,试画出图的深度优先和广度优先生成树。

【北京轻工业学院 1998 八 (6分)】 18.对一个图进行遍历可以得到不同的遍历序列,那么导致得到的遍历序列不唯一的因素有哪些?

【北京航空航天大学 1998 一、7 (4分)】 19.解答下面的问题 (1).如果每个指针需要4个字节,每个顶点的标号占2个字节,每条边的权值占2个字节。下图采用哪种表示法所需的空间较多?为什么?

19题图 20题图

(2).写出下图从顶点1开始的DFS 树。【西安电子科技大学 2000计应用 六 (10分)】 20.如下所示的连通图,请画出: (1).以顶点①为根的深度优先生成树;(5分) (2).如果有关节点,请找出所有的关节点。(5分)【清华大学 1998 七 (10分)】 21.某田径赛中各选手的参赛项目表如下: 姓名 参 赛 项 ZHAO A B E QIAN C D

SHUN C E F LI D F A ZHOU B F

设项目A ,B ,…,F 各表示一数据元素,若两项目不能同时举行,则将其连线(约束条件).

3

6 7

5

8 9 4

2

1

3 10 5 7

8 4 2

1

6 9 2 1 4 6

3 5

10 20 10 5 2 3 15 11 3 9 8 7 1 2 4

5 6 3 10 1

2

3

4

5134124Λ12324Λ234Λ5Λ5Λ

(1).根据此表及约束条件画出相应的图状结构模型,并画出此图的邻接表结构; (2).写出从元素A 出发按“广度优先搜索”算法遍历此图的元素序列.

【北京科技大学 1999 五 2000 五 (12分)】 22.已知无向图如下所示: (1).给出从V1开始的广度优先搜索序列;(2).画出它的邻接表; (3).画出从V1开始深度优先搜索生成树。【燕山大学 2000 五 (5分)】

第22题图 第23题图 23.已知某图的邻接表为

(1).写出此邻接表对应的邻接矩阵;(2分) (2).写出由v1开始的深度优先遍历的序列;(2分) (3).写出由v1开始的深度优先的生成树;(2分) (4).写出由v1开始的广度优先遍历的序列;(2分) (5).写出由v1开始的广度优先的生成树;(2分) (6).写出将无向图的邻接表转换成邻接矩阵的算法。(8分) 【山东大学 1998 六、

18分】

24.考虑右图: (1)从顶点A 出发,求它的深度优先生成树

(2)从顶点E 出发,求它的广度优先生成树

(3)根据普利姆(Prim) 算法, 求它的最小生成树【上海交通大学 1999 六 (12分)】

25.在什么情况下,Prim 算法与Kruskual 算法生成不同的MST ?

【西安电子科技大学 2000计应用 一、11 (5分)】 26.下面是求无向连通图最小生成树的一种方法。

将图中所有边按权重从大到小排序为(e 1,e 2,…,e m )

i:=1

WHILE (所剩边数 >=顶点数)

BEGIN

从图中删去e i

若图不再连通,则恢复e i i:=i+1 END.

试证明这个算法所得的图是原图的最小代价生成树。【北京邮电大学 1999 五 (10分)】 27.已知一个无向图如下图所示,要求分别用Prim 和Kruskal 算法生成最小树(假设以①为起点,试画出构造过程)。【哈尔滨工业大学 1999 九 (8分)】

1 2 6 3 20 10 11 6 10 14 5 9 1 4 3 2 9 2 8 7 5 6 4 v1v2

v3v4v5v6121124Λ35Λ5Λ6Λ3Λ4ΛE A B G C D F 5

3 6 1

4 1 3

2 5

1

5

6

4

7

3

8

2

5

8

3

7

6

4

3

7

2

3

2

8

4

6

27题图 28题图

28.G=(V,E)是一个带有权的连通图,则:

(1).请回答什么是G的最小生成树;

(2).G为下图所示,请找出G的所有最小生成树。【北方交通大学 1993 二(12分)】29.试写出用克鲁斯卡尔(Kruskal)算法构造下图的一棵最小支撑(或生成)树的过程。

第29图

【吉林大学 2000 一、3 (3分)】

30.求出下图的最小生成树。【合肥工业大学 1999 四、2 (5分)】第30题图

31.一带权无向图的邻接矩阵如下图,试画出它的一棵最小生成树。

【浙江大学 1994 五 (8分)】第32题图

32.请看下边的无向加权图。(1).写出它的邻接矩阵( 5分)

(2).按Prim算法求其最小生成树,并给出构造最小生成树过程中辅助数组的各分量值(15

分)

辅助数组内各分量值:【华北计算机系统工程研究所1999 四(20分)】

Y

Closedge 2 3 4 5 6 7 8 U V.-U

Vex

Lowcost

12

5

64

3

18

4

12

8

10

20

2515

5

23

7

6

7

33.已知世界六大城市为:北京(Pe)、纽约(N)、巴黎(Pa)、伦敦(L) 、东京(T) 、墨西哥(M),下表给定了这六大城市之间的交通里程:

世界六大城市交通里程表(单位:百公里)

(2).画出该图的邻接表表示法;

(3).画出该图按权值递增的顺序来构造的最小(代价)生成树.

【上海海运学院1995 六(9分) 1999 五(14分)】

34.已知顶点1-6和输入边与权值的序列(如右图所示):每行三个数表示一

条边

的两个端点和其权值,共11行。请你:

(1).采用邻接多重表表示该无向网,用类PASCAL语言描述该数据结构,画

出存

储结构示意图,要求符合在边结点链表头部插入的算法和输入序列的次序。

(2).分别写出从顶点1出发的深度优先和广度优先遍历顶点序列,以及相

应的

生成树。

(3).按prim算法列表计算,从顶点1始求最小生成树,并图示该树。

【北京工业大学 1999 四(20分)】

1

3654219211656

6

11

14183335.下图表示一个地区的通讯网,边表示城市间的通讯线路,边上的权表示架设线路花费的代价,如何选择能沟通每个城市且总代价最省的n-1条线路,画出所有可能的选择。【东北大学2000一、4(4分)】

第36题图

36.设无向网G 如上: 第35题图 (1). 设顶点a 、b 、c 、d 、e 、f 、h 的序号分别为1、2、3、4、5、6、7,请列出网G 的邻接矩阵、画出网G 的邻接表结构: (2).写出从顶点a 出发,按“深度优先搜索”和“广度优先搜索”方法遍历网G 所的到的顶点序列:

按Prim 算法求出网G 的一棵最小生成树。【北京科技大学 2001 五 (12分)】

37.有一图的邻接矩阵如下,试给出用弗洛伊德算法求各点间最短距离的矩阵序列A 1,A 2

,A 3,A 4

A=

【北京邮电大学2001四、5(5分)】

38.下图所示是一带权有向图的邻接表法存储表示。其中出边表中的每个结点均含有三个字段,依次为边的另一个顶点在顶点表中的序号、边上的权值和指向下一个边结点的指针。试求:

(1).该带权有向图的图形; (2).从顶点V1为起点的广度优先周游的顶点序列及对应的生成树(即支撑树); (3).以顶点V1为起点的深度优先周游生成树; (4).由顶点V1到顶点V3的最短路径。【中山大学 1994 四 (12分)】

39.用最短路径算法,求如下图中a 到z 的最短通路。【西南财经大学 1999 四】

40.已知一有向网的邻接矩阵如下,如需在其中一个结点建立娱乐中心,要求该结点距其它各结点的最长往返路程最短,相同条件下总的往返路程越短越好,问娱乐中心应选址何处?给出解题过程。

????????????∞∞∞∞∞∞0340561020b d c f h a 3 2 8 7 5

1 4 3 e 5 6 6 5 c e d 4 b f g h i j z a 2

2 4 9 6 1 4 2 2

3 1 2 3

4

5 9 8

2 9 第39题图

V1V2V3ΛV4V5V6Λ233429625Λ336Λ230338542Λ110618Λ1234

5

6(顶点边)(出边表)

【北京邮电大学 2002 四、1 (10分)】

41.求出下图中顶点1到其余各顶点的最短路径。【厦门大学 2002 八、2 (5分)】 42.试利用Dijkstra 算法求下图中从顶点a 到其他个顶点间的最短路径,写出执行算法过程中各步的状态。

【东南大学 2000 四(10分)】

43.对于如下的加权有向图,给出算法Dijkstra 产生的最短路径的支撑树,设顶点A 为源

点,并写出生成过程。【吉林大学 1999 一、2 (4分)】

44.已知图的邻接矩阵为: V1 V2 V3 V4 V5 V6 V7 V8 V9 V10

V1 0 1 1 1 0 0 0 0 0 0 V2 0 0 0 1 1 0 0 0 0 0 V3 0 0 0 1 0 1 0 0 0 0 V4 0 0 0 0 0 1 1 0 1 0 V5 0 0 0 0 0 0 1 0 0 0 V6 0 0 0 0 0 0 0 1 1 0 V7 0 0 0 0 0 0 0 0 1 0 V8 0 0 0 0 0 0 0 0 0 1 V9 0 0 0 0 0 0 0 0 0 1 V10 0 0 0 0 0 0 0 0 0 0

当用邻接表作为图的存储结构,且邻接表都按序号从大到小排序时,试写出: (1).以顶点V1为出发点的唯一的深度优先遍历; (2).以顶点V1为出发点的唯一的广度优先遍历; (3).该图唯一的拓扑有序序列。【同济大学 1998 一 (12分 )】 45.已知一图如下图所示:

(1).写出该图的邻接矩阵; (2).写出全部拓扑排序; (3).以v1为源点,以v8为终点,给出所有事件允许发生的最早时间和最晚时间,并

?????????

?????????∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞052301101404230320654321V V V V V V 第41题图

第43题图 A

D

C

E

B

21

20

3

45

40

35

30

20

20

15

15 第42题图

给出关键路径;

(4).求V1结点到各点的最短距离。【北京邮电大学 2000 五(15分)】

46.(1).对于有向无环图,叙述求拓扑有序序列的步骤;

(2).对于以下的图,写出它的四个不同的拓扑有序序列。【南开大学 1998 二 (12分)】47.有向图的拓扑排序能否用图的深度搜索模式来查找?若能,请简述方法,若不能,请简

述原因

【西北大学 2000 二、8 (5分)】

48.下图是带权的有向图G的邻接表表示法,求:

(1).以结点V1出发深度遍历图G所得的结点序列;

(2).以结点V1出发广度遍历图G所得的结点序列;

(3).从结点V1到结点V8的最短路径;

(4).从结点V1到结点V8的关键路径。

【青岛海洋大学 1999 四(10分)】

49.对有五个结点{ A,B, C, D, E}的图的邻接矩阵,

(1).画出逻辑图;

(2).画出图的十字链表存储;

(3).基于邻接矩阵写出图的深度、广度优先遍历序列;

(4).计算图的关键路径。

【华南师范大学 1999 三 (20分)】

50.何为AOE网的始点和终点,一个正常的AOE网是否只有一个始点和一个终点?

【首都经贸大学 1997 一、4 (4分)】

51.下表给出了某工程各工序之间的优先关系和各工序所需时间

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

50

10

20

60

10

30

100

V1

V2

V4

V6

V8

V7

V5

V3

3

10

3

2

5 4

6

1 3

第45题图

2

17

4

36

5

8

第46题图

最新版数据结构1800题含完整答案详解

数据结构1800例题与答案 第一章绪论 一、选择题(每小题2分) 1.算法的计算量的大小称为计算的( B )。【北京邮电大学2000 二、3 (20/8分)】 A.效率B.复杂性C.现实性D.难度 2.算法的时间复杂度取决于(C)。【中科院计算所1998 二、1 (2分)】 A.问题的规模B.待处理数据的初态C.A和B D.都不是 3.计算机算法指的是(①C ),它必须具备(② B )这三个特性。 ①A.计算方法B.排序方法 C.解决问题的步骤序列D.调度方法 ②A.可执行性、可移植性、可扩充性B.可执行性、确定性、有穷性 C.确定性、有穷性、稳定性D.易读性、稳定性、安全性【南京理工大学1999 一、1(2分)【武汉交通科技大学1996 一、1(4分)】4.一个算法应该是(B )。【中山大学1998 二、1(2分)】 A.程序B.问题求解步骤的描述 C.要满足五个基本特性D.A和C. 5.下面关于算法说法错误的是( D )【南京理工大学2000 一、1(1.5分)】A.算法最终必须由计算机程序实现 B.为解决某问题的算法同为该问题编写的程序含义是相同的 C. 算法的可行性是指指令不能有二义性 D. 以上几个都是错误的 6. 下面说法错误的是(C )【南京理工大学2000 一、2 (1.5分)】 (1)算法原地工作的含义是指不需要任何额外的辅助空间 (2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法(3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界 (4)同一个算法,实现语言的级别越高,执行效率就越低 A.(1) B.(1),(2) C.(1),(4) D.(3) 7.从逻辑上可以把数据结构分为( C )两大类。【武汉交通科技大学1996 一、4(2分)】 A.动态结构、静态结构B.顺序结构、链式结构 C.线性结构、非线性结构D.初等结构、构造型结构 8.以下与数据的存储结构无关的术语是( D )。【北方交通大学2000 二、1(2分)】A.循环队列 B. 链表 C. 哈希表 D. 栈 9.以下数据结构中,哪一个是线性结构( D )?【北方交通大学2001 一、1(2分)】 A.广义表 B. 二叉树 C. 稀疏矩阵 D. 串 10.以下那一个术语与数据的存储结构无关?(A)【北方交通大学2001 一、2(2分)】 A.栈 B. 哈希表 C. 线索树 D. 双向链表 11.在下面的程序段中,对x的赋值语句的频度为(C)【北京工商大学2001 一、10(3分)】 FOR i:=1 TO n DO

目前最完整的数据结构1800题包括完整答案-第三章-栈和队列范文(汇编)

第3章栈和队列 一选择题 1. 对于栈操作数据的原则是()。【青岛大学 2001 五、2(2分)】 A. 先进先出 B. 后进先出 C. 后进后出 D. 不分顺序 2. 在作进栈运算时,应先判别栈是否( ① ),在作退栈运算时应先判别栈是否( ② )。当栈中元素为n个,作进栈运算时发生上溢,则说明该栈的最大容量为( ③ )。 为了增加内存空间的利用率和减少溢出的可能性,由两个栈共享一片连续的内存空间时,应将两栈的 ( ④ )分别设在这片内存空间的两端,这样,当( ⑤ )时,才产生上溢。①, ②: A. 空 B. 满 C. 上溢 D. 下溢 ③: A. n-1 B. n C. n+1 D. n/2 ④: A. 长度 B. 深度 C. 栈顶 D. 栈底 ⑤: A. 两个栈的栈顶同时到达栈空间的中心点. B. 其中一个栈的栈顶到达栈空间的中心点. C. 两个栈的栈顶在栈空间的某一位置相遇. D. 两个栈均不空,且一个栈的栈顶到达另一个栈的栈底. 【上海海运学院 1997 二、1(5分)】【上海海运学院 1999 二、1(5分)】 3. 一个栈的输入序列为123…n,若输出序列的第一个元素是n,输出第i(1<=i<=n)个元素是()。 A. 不确定 B. n-i+1 C. i D. n-i 【中山大学 1999 一、9(1分)】 4. 若一个栈的输入序列为1,2,3,…,n,输出序列的第一个元素是i,则第j个输出元素是()。 A. i-j-1 B. i-j C. j-i+1 D. 不确定的 【武汉大学 2000 二、3】 5. 若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,p N,若p N是n,则p i是( )。 A. i B. n-i C. n-i+1 D. 不确定 【南京理工大学 2001 一、1(1.5分)】 6. 有六个元素6,5,4,3,2,1 的顺序进栈,问下列哪一个不是合法的出栈序列?() A. 5 4 3 6 1 2 B. 4 5 3 1 2 6 C. 3 4 6 5 2 1 D. 2 3 4 1 5 6 【北方交通大学 2001 一、3(2分)】 7. 设栈的输入序列是1,2,3,4,则()不可能是其出栈序列。【中科院计算所2000一、10(2分)】 A. 1,2,4,3, B. 2,1,3,4, C. 1,4,3,2, D. 4,3,1,2, E. 3,2,1,4, 8. 一个栈的输入序列为1 2 3 4 5,则下列序列中不可能是栈的输出序列的是()。 A. 2 3 4 1 5 B. 5 4 1 3 2 C. 2 3 1 4 5 D. 1 5 4 3 2 【南开大学 2000 一、1】【山东大学 2001 二、4 (1分)】【北京理工大学 2000 一、2(2分)】 9. 设一个栈的输入序列是 1,2,3,4,5,则下列序列中,是栈的合法输出序列的是()。 A. 5 1 2 3 4 B. 4 5 1 3 2 C. 4 3 1 2 5 D. 3 2 1 5 4 【合肥工业大学 2001 一、1(2分)】 10. 某堆栈的输入序列为a, b,c ,d,下面的四个序列中,不可能是它的输出序列的是

目前最完整的数据结构1800题包括完整答案树和二叉树答案

第6章树和二叉树 部分答案解释如下。 12. 由二叉树结点的公式:n=n0+n1+n2=n0+n1+(n0-1)=2n0+n1-1,因为n=1001,所以1002=2n0+n1,在完全二叉树树中,n1只能取0或1,在本题中只能取0,故n=501,因此选E。 42.前序序列是“根左右”,后序序列是“左右根”,若要这两个序列相反,只有单支树,所以本题的A和B均对,单支树的特点是只有一个叶子结点,故C是最合适的,选C。A或B 都不全。由本题可解答44题。 47. 左子树为空的二叉树的根结点的左线索为空(无前驱),先序序列的最后结点的右线索为空(无后继),共2个空链域。 52.线索二叉树是利用二叉树的空链域加上线索,n个结点的二叉树有n+1个空链域。 部分答案解释如下。 6.只有在确定何序(前序、中序、后序或层次)遍历后,遍历结果才唯一。 19.任何结点至多只有左子树的二叉树的遍历就不需要栈。 24. 只对完全二叉树适用,编号为i的结点的左儿子的编号为2i(2i<=n),右儿子是2i+1(2i+1<=n) 37. 其中序前驱是其左子树上按中序遍历的最右边的结点(叶子或无右子女),该结点无右孩子。 38 . 新插入的结点都是叶子结点。 42. 在二叉树上,对有左右子女的结点,其中序前驱是其左子树上按中序遍历的最右边的结点(该结点的后继指针指向祖先),中序后继是其右子树上按中序遍历的最左边的结点(该结点的前驱指针指向祖先)。 44.非空二叉树中序遍历第一个结点无前驱,最后一个结点无后继,这两个结点的前驱线索和后继线索为空指针。 三.填空题

1.(1)根结点(2)左子树(3)右子树 2.(1)双亲链表表示法(2)孩子链表表示法(3)孩 子兄弟表示法 3.p->lchild==null && p->rchlid==null 4.(1) ++a*b3*4-cd (2)18 5.平衡 因子 6. 9 7. 12 8.(1)2k-1 (2)2k-1 9.(1)2H-1 (2)2H-1 (3)H=?log2N?+1 10. 用顺序存储二叉树时,要按完全二叉树的形式存储,非完全二叉树存储时,要加“虚结 点”。设编号为i和j的结点在顺序存储中的下标为s 和t ,则结点i和j在同一层上的条 件是?log2s?=?log2t?。 11. ?log2i?=?log2j?12.(1)0 (2)(n-1)/2 (3)(n+1)/2 (4) ?log2n?+1 13.n 14. N2+1 15.(1) 2K+1-1 (2) k+1 16. ?N/2? 17. 2k-2 18. 64 19. 99 20. 11 21.(1) n1-1 (2)n2+n3 22.(1)2k-2+1(第k层1个结点,总结点个数是2H-1,其双亲是2H-1/2=2k-2)(2) ?log2i?+1 23.69 24. 4 25.3h-1 26. ?n/2? 27. ?log2k?+1 28.(1)完全二叉树 (2)单枝树,树中任一结点(除最后一个结点是叶子外),只有左子女或 只有右子女。 29.N+1 30.(1) 128(第七层满,加第八层1个) (2) 7 31. 0至多个。任意二叉树,度为1的结点个数没限制。只有完全二叉树,度为1的结点个 数才至多为1。 32.21 33.(1)2 (2) n-1 (3) 1 (4) n (5) 1 (6) n-1 34.(1) FEGHDCB (2)BEF(该二叉树转换成森林,含三棵树,其第一棵树的先根次序是 BEF) 35.(1)先序(2)中序 36. (1)EACBDGF (2)2 37.任何结点至多只有右子女 的二叉树。 38.(1)a (2) dbe (3) hfcg 39.(1) . (2) ...GD.B...HE..FCA 40.DGEBFCA 41.(1)5 (2)略 42.二叉排序树 43.二叉树 44. 前序 45.(1)先根次序(2)中根次序46.双亲的右子树中最左下的叶子结点47.2 48.(n+1)/2 49.31(x的后继是经x的双亲y的右子树中最左下的叶结点) 50.(1)前驱 (2)后 继 51.(1)1 (2)y^.lchild (3)0 (4)x (5)1 (6) y (7)x(编者注:本题按 中序线索化) 52.带权路径长度最小的二叉树,又称最优二叉树 53.69 54.(1)6 (2)261 55.(1)80 (2)001(不唯一)56.2n0-1 57.本题①是表达式求值,②是在二叉排序树中删除值为x的结点。首先查找x,若没有x, 则结束。否则分成四种情况讨论:x结点有左右子树;只有左子树;只有右子树和本身是叶 子。 (1)Postoder_eval(t^.Lchild) (2) Postorder_eval(t^.Rchild) (3)ERROR(无此运 算符)(4)A (5)tempA^.Lchild (6)tempA=NULL(7)q^.Rchild (8)q (9)tempA^.Rchild (10)tempA^.Item

目前最完整的数据结构1800题包括完整答案 第五章 数组和广义表

第 5 章数组和广义表 一、选择题 1.设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a11为第一元素,其 存储地址为1,每个元素占一个地址空间,则a85的地址为()。【燕山大学 2001 一、2 (2分)】 A. 13 B. 33 C. 18 D. 40 2. 有一个二维数组A[1:6,0:7] 每个数组元素用相邻的6个字节存储,存储器按字节编址, 那么这个数组的体积是(①)个字节。假设存储数组元素A[1,0]的第一个字节的地址是0, 则存储数组A的最后一个元素的第一个字节的地址是(②)。若按行存储,则A[2,4]的第 一个字节的地址是(③)。若按列存储,则A[5,7]的第一个字节的地址是(④)。就一般情 况而言,当(⑤)时,按行存储的A[I,J]地址与按列存储的A[J,I]地址相等。供选择的 答案:【上海海运学院 1998 二、2 (5分)】 ①-④: A.12 B. 66 C. 72 D. 96 E. 114 F. 120 G. 156 H. 234 I. 276 J. 282 K. 283 L. 288 ⑤: A.行与列的上界相同 B. 行与列的下界相同 C. 行与列的上、下界都相同 D. 行的元素个数与列的元素个数相同 3. 设有数组A[i,j],数组的每个元素长度为3字节,i的值为1 到8 ,j的值为1 到10, 数组从内存首地址BA开始顺序存放,当用以列为主存放时,元素A[5,8]的存储首地址为( )。 A. BA+141 B. BA+180 C. BA+222 D. BA+225 【南京理工大学 1997 一、8 (2分)】 4. 假设以行序为主序存储二维数组A=array[1..100,1..100],设每个数据元素占2个存 储单元,基地址为10,则LOC[5,5]=()。【福州大学 1998 一、10 (2分)】 A. 808 B. 818 C. 1010 D. 1020 5. 数组A[0..5,0..6]的每个元素占五个字节,将其按列优先次序存储在起始地址为1000 的内存单元中,则元素A[5,5]的地址是( )。【南京理工大学 2001 一、13 (1.5分)】 A. 1175 B. 1180 C. 1205 D. 1210 6. 有一个二维数组A[0:8,1:5],每个数组元素用相邻的4个字节存储,存储器按字节编址, 假设存储数组元素A[0,1]的第一个字节的地址是0,存储数组A的最后一个元素的第一个字 节的地址是(①)。若按行存储,则A[3,5]和 A[5,3]的第一个字节的地址是(②) 和(③)。若按列存储,则A[7,1]和A[2,4]的第一个字节的地址是(④)和(⑤)。【上海海运学院 1996 二、1 (5分)】 ①-⑤:A.28 B.44 C.76 D.92 E.108 F.116 G.132 H.176 I.184 J.188 7. 将一个A[1..100,1..100]的三对角矩阵,按行优先存入一维数组B[1‥298]中,A中元 素A6665(即该元素下标i=66,j=65),在B数组中的位置K为()。供选择的答案: A. 198 B. 195 C. 197 【北京邮电大学 1998 二、5 (2分)】 8. 二维数组A的元素都是6个字符组成的串,行下标i的范围从0到8,列下标j的范圈 从1到10。从供选择的答案中选出应填入下列关于数组存储叙述中()内的正确答案。(1)存放A至少需要()个字节; (2)A的第8列和第5行共占()个字节; (3)若A按行存放,元素A[8,5]的起始地址与A按列存放时的元素()的起始地

目前最完整的数据结构1800题包括完整答案 第十章 排序

第10章排序 一、选择题 1.某内排序方法的稳定性是指( )。【南京理工大学 1997 一、10(2分)】A.该排序算法不允许有相同的关键字记录 B.该排序算法允许有相同的关键字记录 C.平均时间为0(n log n)的排序方法 D.以上都不对 2.下面给出的四种排序法中( )排序法是不稳定性排序法。【北京航空航天大学 1999 一、 10 (2分)】 A. 插入 B. 冒泡 C. 二路归并 D. 堆积 3.下列排序算法中,其中()是稳定的。【福州大学 1998 一、3 (2分)】 A. 堆排序,冒泡排序 B. 快速排序,堆排序 C. 直接选择排序,归并排序 D. 归并排序,冒泡排序 4.稳定的排序方法是()【北方交通大学 2000 二、3(2分)】 A.直接插入排序和快速排序 B.折半插入排序和起泡排序 C.简单选择排序和四路归并排序 D.树形选择排序和shell排序 5.下列排序方法中,哪一个是稳定的排序方法?()【北方交通大学 2001 一、8(2分)】 A.直接选择排序 B.二分法插入排序 C.希尔排序 D.快速排序6.若要求尽可能快地对序列进行稳定的排序,则应选(A.快速排序 B.归并排序 C.冒泡排序)。 【北京邮电大学 2001 一、5(2分)】 7.如果待排序序列中两个数据元素具有相同的值,在排序前后它们的相互位置发生颠倒,则称该排序算法是不稳定的。()就是不稳定的排序方法。【清华大学 1998 一、3 (2分)】 A.起泡排序 B.归并排序 C.Shell排序 D.直接插入排序 E.简单选择排序 8.若要求排序是稳定的,且关键字为实数,则在下列排序方法中应选()排序为宜。 A.直接插入 B.直接选择 C.堆 D.快速 E.基数【中科院计算所 2000 一、5(2分)】 9.若需在O(nlog2n)的时间内完成对数组的排序,且要求排序是稳定的,则可选择的排序方法是()。 A. 快速排序 B. 堆排序 C. 归并排序 D. 直接插入排序【中国科技大学 1998 二、4(2分)】【中科院计算所 1998 二、4(2分)】 10.下面的排序算法中,不稳定的是()【北京工业大学 1999 一、2 (2分)】 A.起泡排序 B.折半插入排序 C.简单选择排序 D.希尔排序 E.基数排序 F.堆排序。 11.下列内部排序算法中:【北京工业大学 2000 一、1 (10分每问2分)】A.快速排序 B.直接插入排序 C. 二路归并排序 D. 简单选择排序 E. 起泡排序F. 堆排序 (1)其比较次数与序列初态无关的算法是()(2)不稳定的排序算法是()(3)在初始序列已基本有序(除去n个元素中的某k个元素后即呈有序,k<

考研“数据结构”复习书传说中的1800题

第1章绪论 一、选择题 1. 算法的计算量的大小称为计算的()。【北京邮电大学2000 二、3 (20/8分)】 A.效率 B. 复杂性 C. 现实性 D. 难度 2. 算法的时间复杂度取决于()【中科院计算所 1998 二、1 (2分)】 A.问题的规模 B. 待处理数据的初态 C. A和B 3.计算机算法指的是(1),它必须具备(2)这三个特性。 (1) A.计算方法 B. 排序方法 C. 解决问题的步骤序列 D. 调度方法 (2) A.可执行性、可移植性、可扩充性 B. 可执行性、确定性、有穷性 C. 确定性、有穷性、稳定性 D. 易读性、稳定性、安全性 【南京理工大学 1999 一、1(2分)【武汉交通科技大学 1996 一、1( 4分)】4.一个算法应该是()。【中山大学 1998 二、1(2分)】 A.程序 B.问题求解步骤的描述 C.要满足五个基本特性 D.A和 C. 5. 下面关于算法说法错误的是()【南京理工大学 2000 一、1(1.5分)】 A.算法最终必须由计算机程序实现 B.为解决某问题的算法同为该问题编写的程序含义是相同的 C. 算法的可行性是指指令不能有二义性 D. 以上几个都是错误的 6. 下面说法错误的是()【南京理工大学 2000 一、2 (1.5分)】 (1)算法原地工作的含义是指不需要任何额外的辅助空间 (2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法(3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界 (4)同一个算法,实现语言的级别越高,执行效率就越低 A.(1) B.(1),(2) C.(1),(4) D.(3) 7.从逻辑上可以把数据结构分为()两大类。【武汉交通科技大学 1996 一、4(2分)】A.动态结构、静态结构 B.顺序结构、链式结构 C.线性结构、非线性结构 D.初等结构、构造型结构 8.以下与数据的存储结构无关的术语是()。【北方交通大学 2000 二、1(2分)】A.循环队列 B. 链表 C. 哈希表 D. 栈 9.以下数据结构中,哪一个是线性结构()?【北方交通大学 2001 一、1(2分)】A.广义表 B. 二叉树 C. 稀疏矩阵 D. 串 10.以下那一个术语与数据的存储结构无关?()【北方交通大学 2001 一、2(2分)】A.栈 B. 哈希表 C. 线索树 D. 双向链表 11.在下面的程序段中,对x的赋值语句的频度为()【北京工商大学 2001 一、10(3分)】 FOR i:=1 TO n DO FOR j:=1 TO n DO x:=x+1; A. O(2n) B.O(n) C.O(n2) D.O(log2n) 12.程序段 FOR i:=n-1 DOWNTO 1 DO FOR j:=1 TO i DO

数据结构1800试题-第5章 数组和广义表 - 答案

第五章数组和广义表答案 部分答案解释如下。 1. 错误。对于完全二叉树,用一维数组作存储结构是效率高的(存储密度大)。 4. 错误。数组是具有相同性质的数据元素的集合,数据元素不仅有值,还有下标。因此,可以说数祖是元素值和下标构成的偶对的有穷集合。 5. 错误。数组在维数和界偶确定后,其元素个数已经确定,不能进行插入和删除运算。 6. 错误。稀疏矩阵转置后,除行列下标及行列数互换外,还必须确定该元素转置后在新三元组中的位置。 8. 错误。广义表的取表尾运算,是非空广义表除去表头元素,剩余元素组成的表,不可能是原子。 9. 错误。广义表的表头就是广义表的第一个元素。只有非空广义表才能取表头。 10. 错误。广义表中元素可以是原子,也可以是表(包括空表和非空表)。 11. 错误。广义表的表尾,指去掉表头元素后,剩余元素所组成的表。 三、填空题 1. 顺序存储结构 2.(1)9572(2)1228 3.(1)9174(2)8788 4. 1100 5. 1164 公式:LOC(a ijk)=LOC(a000)+[v2*v3*(i-c1)+v3*(j-c2)+(k-c3)]*l (l为每个元素所占单元数) 6. 232 7. 1340 8. 1196 9. 第1行第3列 10. (1)270 (2)27 (3)2204 11. i(i-1)/2+j (1<=i,j<=n) 12. (1)n(n+1)/2 (2)i(i+1)/2 (或j(j+1)/2) (3)i(i-1)/2+j (4)j(j-1)/2+i (1<=i,j<=n) 13. 1038 三对角矩阵按行存储:k=2(i-1)+j (1<=i,j<=n) 14. 33 (k=i(i-1)/2+j) (1<=i,j<=n) 15. 非零元很少(t<

数据结构1800试题-第7章 图

第七章图 一、选择题 1.图中有关路径的定义是()。【北方交通大学 2001 一、24 (2分)】A.由顶点和相邻顶点序偶构成的边所形成的序列 B.由不同顶点所形成的序列C.由不同边所形成的序列 D.上述定义都不是 2.设无向图的顶点个数为n,则该图最多有()条边。 A.n-1 B.n(n-1)/2 C. n(n+1)/2 D.0 E.n2 【清华大学 1998 一、5 (2分)】【西安电子科技大 1998 一、6 (2分)】 【北京航空航天大学 1999 一、7 (2分)】 3.一个n个顶点的连通无向图,其边的个数至少为()。【浙江大学 1999 四、4 (4分)】 A.n-1 B.n C.n+1 D.nlogn; 4.要连通具有n个顶点的有向图,至少需要()条边。【北京航空航天大学 2000 一、6(2分)】 A.n-l B.n C.n+l D.2n 5.n个结点的完全有向图含有边的数目()。【中山大学 1998 二、9 (2分)】A.n*n B.n(n+1) C.n/2 D.n*(n-l) 6.一个有n个结点的图,最少有()个连通分量,最多有()个连通分量。 A.0 B.1 C.n-1 D.n 【北京邮电大学 2000 二、5 (20/8分)】 7.在一个无向图中,所有顶点的度数之和等于所有边数()倍,在一个有向图中,所有顶点的入度之和等于所有顶点出度之和的()倍。【哈尔滨工业大学 2001 二、3 (2分)】 A.1/2 B.2 C.1 D.4 8.用有向无环图描述表达式(A+B)*((A+B)/A),至少需要顶点的数目为( )。【中山大学1999一、14】 A.5 B.6 C.8 D.9 9.用DFS遍历一个无环有向图,并在DFS算法退栈返回时打印相应的顶点,则输出的顶点序列是( )。 A.逆拓扑有序 B.拓扑有序 C.无序的【中科院软件所1998】 10.下面结构中最适于表示稀疏无向图的是(),适于表示稀疏有向图的是()。 A.邻接矩阵 B.逆邻接表 C.邻接多重表 D.十字链表 E.邻接表 【北京工业大学 2001 一、3 (2分)】 11.下列哪一种图的邻接矩阵是对称矩阵?()【北方交通大学 2001 一、11 (2分)】A.有向图 B.无向图 C.AOV网 D.AOE网 12.从邻接阵矩可以看出,该图共有(①)个顶点;如果是有向图该图共有 (②)条弧;如果是无向图,则共有(③)条边。【中科院软件所 1999 六、2(3分)】 ①.A.9 B.3 C.6 D.1 E.以上答案均不正确 ②.A.5 B.4 C.3 D.2 E.以上答案均不正确 ③.A.5 B.4 C.3 D.2 E.以上答案均不正确

数据结构1800题和答案第7章 图

第七章 图 一、选择题 1.图中有关路径的定义是( )。【北方交通大学 2001 一、24 (2分)】 A .由顶点和相邻顶点序偶构成的边所形成的序列 B .由不同顶点所形成的序列 C .由不同边所形成的序列 D .上述定义都不是 2.设无向图的顶点个数为n ,则该图最多有( )条边。 A .n-1 B .n(n-1)/2 C . n(n+1)/2 D .0 E .n 2 【清华大学 1998 一、5 (2分)】【西安电子科技大 1998 一、6 (2分)】 【北京航空航天大学 1999 一、7 (2分)】 3.一个n 个顶点的连通无向图,其边的个数至少为( )。【浙江大学 1999 四、4 (4分)】 A .n-1 B .n C .n+1 D .nlogn ; 4.要连通具有n 个顶点的有向图,至少需要( )条边。【北京航空航天大学 2000 一、6(2分)】 A .n-l B .n C .n+l D .2n 5.n 个结点的完全有向图含有边的数目( )。【中山大学 1998 二、9 (2分)】 A .n*n B.n (n +1) C .n /2 D .n*(n -l ) 6.一个有n 个结点的图,最少有( )个连通分量,最多有( )个连通分量。 A .0 B .1 C .n-1 D .n 【北京邮电大学 2000 二、5 (20/8分)】 7.在一个无向图中,所有顶点的度数之和等于所有边数( )倍,在一个有向图中,所有顶点的入度之和等于所有顶点出度之和的( )倍。【哈尔滨工业大学 2001 二、3 (2分)】 A .1/2 B .2 C .1 D .4 8.用有向无环图描述表达式(A+B)*((A+B )/A ),至少需要顶点的数目为( )。【中山大学1999一、14】 A .5 B .6 C .8 D .9 9.用DFS 遍历一个无环有向图,并在DFS 算法退栈返回时打印相应的顶点,则输出的顶点序列是( )。 A .逆拓扑有序 B .拓扑有序 C .无序的 【中科院软件所 1998】 10.下面结构中最适于表示稀疏无向图的是( ),适于表示稀疏有向图的是( )。 A .邻接矩阵 B .逆邻接表 C .邻接多重表 D .十字链表 E .邻接表 【北京工业大学 2001 一、3 (2分)】 11.下列哪一种图的邻接矩阵是对称矩阵?( )【北方交通大学 2001 一、11 (2分)】 A .有向图 B .无向图 C .AOV 网 D .AO E 网 12. 从邻接阵矩 可以看出,该图共有(①)个顶点;如果是有向图该图共有 (②) 条弧;如果是无向图,则共有(③)条边。【中科院软件所 1999 六、2(3分)】 ①.A .9 B .3 C .6 D .1 E .以上答案均不正确 ②.A .5 B .4 C .3 D .2 E .以上答案均不正确 ③.A .5 B .4 C .3 D .2 E .以上答案均不正确 ????? ?????=01 101 010A

数据结构1800题和答案第8章 动态存储管理

第八章动态存储管理 一、选择题 1. 动态存储管理系统中,通常可有()种不同的分配策略。【长沙铁道学院 1998 三、3 (2分)】 A. 1 B. 2 C. 3 D. 4 E. 5 二、判断题 1.在伙伴系统中的伙伴是指任意两块大小相同、位置相邻的内存块。()【北京邮电大学 2000 一、8(1分)】 2.在动态存储管理系统中做空间分配时,最佳适配法与最先适配法相比,前者容易增加闲置空间的碎片。()【东南大学 2001 一、1-1 (1分)】【中山大学 1994 一、1(2分)】 三、填空题 1.起始地址为480,大小为8的块,其伙伴块的起始地址是_______;若块大小为32,则其伙伴块的起始地址为_______。【北方交通大学 1999 二、1(4分)】 2.二进制地址为011011110000,大小为(4)10和(16)10块的伙伴地址分别为:________、_________。 【上海大学 2002 二、2(2分)】 3.无用单元是指________,例________【北方交通大学 1999 二、6(4分)】 四、应用题 1.伙伴空间(名词解释)【西北工业大学 1999 一、4(3分)】 2.设内存中可利用空间已连成一个单链表,对用户的存储空间需求,一般有哪三种分配策略? 【北京科技大学 1999 一、6(2分)】 3.计算起始二进制地址为011011110000,长度为4(十进制)的块的伙伴地址是多少? 【中山大学1999一、2(3分)】 4.在一个伙伴系统中,已知某存储块的始址X=(011011110000)2,大小为24,则它的伙伴块的始址是多少?【北方交通大学 1996 一、1(5分)】 5.地址为(1664)10大小为(128)10的存储块的伙伴地址是什么? 地址为(2816)10大小为(64)10的存储块的伙伴地址是什么?【清华大学1996 四、】6.试叙述动态存储分配伙伴系统的基本思想,它和边界标识法不同点是什么? 【青岛大学 2000 十、(10分)】【中国人民大学 2000 一、1(4分)】 7.组织成循环链表的可利用空间表附加什么条件时,首次适配策略就转变为最佳适配策略? 【北方交通大学 1998 四、(8分)】 8.已知一个大小为512个字长的存储,假设先后有6个用户申请大小分别为23,45,52,100,11和19的存储空间,然后再顺序释放大小为45,52,11的占用块。假设以伙伴系统实现动态存储管理。 (1)画出可利用空间表的初始状态。 (2)画出为6个用户分配所需要的存储空间后可利用空间表的状态以及每个用户所得到的存储块的起始地址。 (3)画出在回收3个占用块之后可利用空间表的状态。【清华大学1998三(15分)】【同济

数据结构1800题(答案全)

一、选择题 1. 算法的计算量的大小称为计算的( B )。【北京邮电大学2000 二、3 (20/8分)】A.效率 B. 复杂性 C. 现实性 D. 难度 2. 算法的时间复杂度取决于(C )【中科院计算所 1998 二、1 (2分)】 A.问题的规模 B. 待处理数据的初态 C. A和B 3.计算机算法指的是(1),它必须具备(2)这三个特性。 (1) A.计算方法 B. 排序方法 C. 解决问题的步骤序列 D. 调度方法 (2) A.可执行性、可移植性、可扩充性 B. 可执行性、确定性、有穷性 C. 确定性、有穷性、稳定性 D. 易读性、稳定性、安全性 【南京理工大学 1999 一、1(2分)【武汉交通科技大学 1996 一、1( 4分)】 4.一个算法应该是()。【中山大学 1998 二、1(2分)】 A.程序 B.问题求解步骤的描述 C.要满足五个基本特性 D.A和C. 5. 下面关于算法说法错误的是()【南京理工大学 2000 一、1(1.5分)】 A.算法最终必须由计算机程序实现 B.为解决某问题的算法同为该问题编写的程序含义是相同的 C. 算法的可行性是指指令不能有二义性 D. 以上几个都是错误的 6. 下面说法错误的是()【南京理工大学 2000 一、2 (1.5分)】 (1)算法原地工作的含义是指不需要任何额外的辅助空间 (2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法 (3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界 (4)同一个算法,实现语言的级别越高,执行效率就越低 A.(1) B.(1),(2) C.(1),(4) D.(3) 7.从逻辑上可以把数据结构分为()两大类。【武汉交通科技大学 1996 一、4(2分)】A.动态结构、静态结构 B.顺序结构、链式结构 C.线性结构、非线性结构 D.初等结构、构造型结构 8.以下与数据的存储结构无关的术语是()。【北方交通大学 2000 二、1(2分)】A.循环队列 B. 链表 C. 哈希表 D. 栈 9.以下数据结构中,哪一个是线性结构()?【北方交通大学 2001 一、1(2分)】A.广义表 B. 二叉树 C. 稀疏矩阵 D. 串

数据结构1800题和答案第6章 树和二叉树答案

第 6 章 树和二叉树
一、选择题
1.D 2.B 3.C 4.D 5.D 6.A 7.1C 7.2A 7.3C 7.4A 7.5 8.B
C
9.C 10.D 11.B 12.E 13.D 14.D 15.C 16.B 17.C 18.C 19. 20.
BD
21.A 22.A 23.C 24.C 25.C 26.C 27.C 28.C 29.B 30.C 31. 32.
DB
33.A 34.D 35.B 36.B 37.C 38.B 39.B 40.B 41.1 41.2 42. 43.
F
B
CB
44.C 45.C 46.B 47.D 48.B 49.C 50.A 51.C 52.C 53.C 54. 55.
DC
56.B 57.A 58.D 59.D 60.B 61.1 61.2 61.3 62.B 63.B 64. 65.
B
A
G
DD
66.1 66.2 66.3 66.4 66.5
C
D
F
H
I
部分答案解释如下。
12. 由二 叉树 结点的 公式 : n=n0+n1+n2=n0+n1+(n0-1)=2n0+n1-1 , 因 为 n=1001, 所以
1002=2n0+n1,在完全二叉树树中,n1 只能取 0 或 1,在本题中只能取 0,故 n=501,因此选
E。
42.前序序列是“根左右”,后序序列是“左右根”,若要这两个序列相反,只有单支树,所
以本题的 A 和 B 均对,单支树的特点是只有一个叶子结点,故 C 是最合适的,选 C。A 或 B
都不全。由本题可解答 44 题。
47. 左子树为空的二叉树的根结点的左线索为空(无前驱),先序序列的最后结点的右线索
为空(无后继),共 2 个空链域。
52.线索二叉树是利用二叉树的空链域加上线索,n 个结点的二叉树有 n+1 个空链域。
二、判断题
1.× 2.× 3.× 4. 5. √ 6. 7.√ 8.× 9. 10. 11. 12.


√×××
13. 14. 15. 16. 17.√ 18. 19. 20. 21. 22. 23. 24.
×√××
√×√×√××
25. 26. 27. 28. 29.√ 30. 31. 32. 33. 34. 35. 36.
√×××
××√×××√
37. 38. 39. 40. 41.(3) 42. 43. 44. 45. 46. 47. 48.
√×××
√√×√×××
49. 50.
√√
部分答案解释如下。
6.只有在确定何序(前序、中序、后序或层次)遍历后,遍历结果才唯一。
19.任何结点至多只有左子树的二叉树的遍历就不需要栈。
24. 只对完全二叉树适用,编号为 i 的结点的左儿子的编号为 2i(2i<=n),右儿子是 2i+1
(2i+1<=n)
37. 其中序前驱是其左子树上按中序遍历的最右边的结点(叶子或无右子女),该结点无右

目前最完整的数据结构1800题包括完整答案 第三章 栈和队列答案

第三章栈和队列答案 二、判断题 部分答案解释如下。 1、尾递归的消除就不需用栈 2、这个数是前序序列为1,2,3,…,n,所能得到的不相似的二叉树的数目。 三、填空题 1、操作受限(或限定仅在表尾进行插入和删除操作)后进先出 2、栈 3、3 1 2 4、23 100CH 5、0 n+1 top[1]+1=top[2] 6、两栈顶指针值相减的绝对值为1(或两栈顶指针相邻)。 7、(1)满 (2)空 (3)n (4)栈底 (5)两栈顶指针相邻(即值之差的绝对值为1) 8、链式存储结构 9、S×SS×S×× 10、data[++top]=x; 11、23.12.3*2-4/34.5*7/++108.9/+(注:表达式中的点(.)表示将数隔开,如23.12.3 是三个数) 12、假溢出时大量移动数据元素。 13、(M+1) MOD N (M+1)% N; 14、队列 15、先进先出 16、先进先出 17、s=(LinkedList)malloc(sizeof(LNode)); s->data=x;s->next=r->next;r->next=s;r=s; 18、牺牲一个存储单元设标记 19、(TAIL+1)MOD M=FRONT (数组下标0到M-1,若一定使用1到M,则取模为0者,值改取M 20、sq.front=(sq.front+1)%(M+1);return(sq.data(sq.front)); (sq.rear+1)%(M+1)==sq.front; 21、栈 22、(rear-front+m)% m; 23、(R-P+N)% N; 24、(1)a[i]或a[1] (2)a[i] (3)pop(s)或s[1]; 25、(1)PUSH(OPTR,w)(2)POP(OPTR)(3)PUSH(OPND,operate(a,theta,b)) 26、(1)T>0(2)i0(4)top

数据结构 树和二叉树习题及答案

习题六树和二叉树 一、单项选择题 1.以下说法错误的是 ( ) A.树形结构的特点是一个结点可以有多个直接前趋 B.线性结构中的一个结点至多只有一个直接后继 C.树形结构可以表达(组织)更复杂的数据 D.树(及一切树形结构)是一种"分支层次"结构 E.任何只含一个结点的集合是一棵树 2.下列说法中正确的是 ( ) A.任何一棵二叉树中至少有一个结点的度为2 B.任何一棵二叉树中每个结点的度都为2 C.任何一棵二叉树中的度肯定等于2 D.任何一棵二叉树中的度可以小于2 3.讨论树、森林和二叉树的关系,目的是为了() A.借助二叉树上的运算方法去实现对树的一些运算 B.将树、森林按二叉树的存储方式进行存储 C.将树、森林转换成二叉树 D.体现一种技巧,没有什么实际意义 4.树最适合用来表示 ( ) A.有序数据元素 B.无序数据元素 C.元素之间具有分支层次关系的数据 D.元素之间无联系的数据 5.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是()A.9 B.11 C.15 D.不确定 6.设森林F中有三棵树,第一,第二,第三棵树的结点个数分别为M1,M2和M3。与森林F对应的二叉树根结点的右子树上的结点个数是()。 A.M1 B.M1+M2 C.M3 D.M2+M3 7.一棵完全二叉树上有1001个结点,其中叶子结点的个数是() A. 250 B. 500 C.254 D.505 E.以上答案都不对 8. 设给定权值总数有n 个,其哈夫曼树的结点总数为( ) A.不确定 B.2n C.2n+1 D.2n-1 9.二叉树的第I层上最多含有结点数为() A.2I B. 2I-1-1 C. 2I-1 D.2I -1 10.一棵二叉树高度为h,所有结点的度或为0,或为2,则这棵二叉树最少有( )结点A.2h B.2h-1 C.2h+1 D.h+1 11. 利用二叉链表存储树,则根结点的右指针是()。 A.指向最左孩子 B.指向最右孩子 C.空 D.非空 12.已知一棵二叉树的前序遍历结果为ABCDEF,中序遍历结果为CBAEDF,则后序遍历的结果为()。 A.CBEFDA B. FEDCBA C. CBEDFA D.不定 13.已知某二叉树的后序遍历序列是dabec, 中序遍历序列是debac , 它的前序遍历是()。 A.acbed B.decab C.deabc D.cedba 14.在二叉树结点的先序序列,中序序列和后序序列中,所有叶子结点的先后顺序()A.都不相同 B.完全相同 C.先序和中序相同,而与后序不同 D.中序和后序相同,而与先序不同 15.在完全二叉树中,若一个结点是叶结点,则它没()。 A.左子结点 B.右子结点 C.左子结点和右子结点 D.左子结点,右子结点和兄弟结点

目前最完整的数据结构1800题包括完整答案 第九章 集合

第九章集合 一、选择题 1.若查找每个记录的概率均等,则在具有n个记录的连续顺序文件中采用顺序查找法查找一个记录,其平均查找长度ASL为( )。【北京航空航天大学 2000 一、8 (2分)】A. (n-1)/2 B. n/2 C. (n+1)/2 D. n 2. 对N个元素的表做顺序查找时,若查找每个元素的概率相同,则平均查找长度为( ) 【南京理工大学1998一、7(2分)】 A.(N+1)/2 B. N/2 C. N D. [(1+N)*N ]/2 3.顺序查找法适用于查找顺序存储或链式存储的线性表,平均比较次数为((1)),二分法查找只适用于查找顺序存储的有序表,平均比较次数为((2))。在此假定N为线性表中结点数,且每次查找都是成功的。【长沙铁道学院 1997 四、3 (4分)】 A.N+1 B.2log2N C.logN D.N/2 E.Nlog2N F.N2 4. 下面关于二分查找的叙述正确的是 ( ) 【南京理工大学 1996 一、3 (2分)】 A. 表必须有序,表可以顺序方式存储,也可以链表方式存储 C. 表必须有序,而且只能从小到大排列 B. 表必须有序且表中数据必须是整型,实型或字符型 D. 表必须有序,且表只能以顺序方式存储 5. 对线性表进行二分查找时,要求线性表必须()【燕山大学 2001 一、5 (2分)】 A.以顺序方式存储 B.以顺序方式存储,且数据元素有序 C.以链接方式存储 D.以链接方式存储,且数据元素有序 6.适用于折半查找的表的存储方式及元素排列要求为( ) 【南京理工大学 1997 一、6 (2分)】 A.链接方式存储,元素无序 B.链接方式存储,元素有序 C.顺序方式存储,元素无序 D.顺序方式存储,元素有序 7. 用二分(对半)查找表的元素的速度比用顺序法( ) 【南京理工大学 1998 一、11 (2分)】 A.必然快 B. 必然慢 C. 相等 D. 不能确定 8.当在一个有序的顺序存储表上查找一个数据时,即可用折半查找,也可用顺序查找,但前者比后者的查找速度( ) A.必定快 B.不一定 C. 在大部分情况下要快 D. 取决于表递增还是递减【南京理工大学 1997 一、7 (2分)】 9. 具有12个关键字的有序表,折半查找的平均查找长度()【中山大学 1998 二、10 (2分)】 A. 3.1 B. 4 C. 2.5 D. 5 10. 折半查找的时间复杂性为()【中山大学 1999 一、15】 A. O(n2) B. O(n) C. O(nlog n) D. O(log n) 11.当采用分快查找时,数据的组织方式为 ( ) 【南京理工大学 1996 一、7 (2分)】A.数据分成若干块,每块内数据有序 B.数据分成若干块,每块内数据不必有序,但块间必须有序,每块内最大(或最小)的数据组成索引块 C. 数据分成若干块,每块内数据有序,每块内最大(或最小)的数据组成索引块 D. 数据分成若干块,每块(除最后一块外)中数据个数需相同 12. 二叉查找树的查找效率与二叉树的( (1))有关, 在 ((2))时其查找效率最低【武汉交通科技大学1996 一、2(4分)】 (1): A. 高度 B. 结点的多少 C. 树型 D. 结点的位置 (2): A. 结点太多 B. 完全二叉树 C. 呈单枝树 D. 结点太复杂。 13. 要进行顺序查找,则线性表(1);要进行折半查询,则线性表(2);若表中元素个数为n,则顺序查找的平均比较次数为(3);折半查找的平均比较次数为(4)。【北方交通大学1999 一、2 (4分)】 (1)(2):A. 必须以顺序方式存储; B. 必须以链式方式存储;C. 既可以以顺序方式存

相关主题