欢迎光临散文网 会员登陆 & 注册

数据

2023-03-07 20:31 作者:青岛啤酒真好喝  | 我要投稿

1. 试分析下列各算法的时间复杂度。(5分)

(1)s=0;

     for i=0; i<n; i++)

for(j=0; j<n; j++)

         { scanf(“%d”,&a[i][j]);

           s+= a[i][j];

 

}                  (2分)

(2)i=1;

     while(i<=n)

        i=i*2;                (3分)

 

答案:(1)O(n2)           

  (2)O(log2n)


2.对于一个栈,设输入序列为A ,B ,C ,D ,E,F,为了得到出栈序列: C, B,E,D,A,F,需执行什么样的进栈(push)、出栈(pop)运算序列?(5分)

 

答案:push, push, push,pop,pop,push,push,pop,pop,pop,push,pop


答案

题目

先序序列: A B D F C E G H ,中序序列: B F D A G E H C;后序序列:F D B G H E C A

题目

5.假设用于通信的电文仅由8个字母(A,B,C,D,E,F,G,H)组成,字母在电文中出现的频率分别为7, 19, 2, 6, 32, 3, 21,10。

(1)试为这8个字母设计赫夫曼树;(3分)

(2) 试为这8个字母设计赫夫曼编码。(2分)

1

2

6.已知图所示的有向图,请给出

(1)邻接矩阵;(2分)

(2)邻接表。(3分)

1

2

7. 已知图的邻接表如图所示,

(1)试从顶点v0出发,写出按广度优先遍历的结果;(3分)

(2)试从顶点v0出发,写出按深度优先遍历的结果是。(2分)

答案:(1)0 1 2 3或v0,v1,v2,v3;

(2)0 1 2 3或v0,v1,v2,v3;


8对下图所示的无向图,请给出:

(1)最小生成树(3分)

(2)按普里姆(Prim)算法,请写出加入顶点的顺序(2分)

答案:(1)

(2)加入顶点的顺序: 0,5,4, 3,2, 1


9. 设待排序的关键字序列为{12,2,16,30,28,10,16*,20,6,18},试写出采用直接插入排序方法,每趟排序结束后关键字序列的状态。(5分)

答案:直接插入排序

[2    12]   16   30   28   10   16*   20   6    18        

[2    12    16]  30   28   10   16*   20   6    18        

[2    12    16   30]  28   10   16*   20   6    18        

[2    12    16   28   30]   10   16*   20   6    18        

[2    10    12   16   28   30]   16*   20   6    18        

[2    10    12   16   16*   28   30]   20   6    18        

[2    10    12   16   16*   20   28   30]   6    18        

[2    6     10   12   16   16*   20   28   30]   18        

[2    6     10   12   16   16*    18   20   28   30]

 

10.折半查找有序表(4,6,10,12,20,30,50,70,88,100,120)。若查找表中元素50,则算法将依次与表中哪些元素比较大小才以成功结束?(5分)

答案:(30,88,50)

 


数据的评论 (共 条)

分享到微博请遵守国家法律