一、高级程序设计(40’)
1、(15’)求一个数的相反数
如2581,颠倒的数为1852,相反数为2581+1852=4433。
2、(15’)100以内的数排序算法,要求时间复杂度为O(n),空间复杂度为O(1)。
3、(10’)输出2-60内的完数和盈数
一个数的因数之和(本身除外)等于它自己则为完数,如6=3+2+1;
一个数的因数之和(本身除外)大于它自己则为完数,如12<6+4+3+2+1;
二、数据结构(30’)
1、(10’)有三类书籍0、1、2,存储在顺序表中,按类别进行排序,要求时间复杂度为O(n),空间复杂度为O(1)。给出了书籍和顺序表的结构。
2、(10’)有两个栈s1,s2,写出队列出和队列进的算法。
3、(10’)深度优先算法判断图的连通性,给出了邻接表结构:
typedef structAnode
{ int adjvex; //边的终点编号
struct Anode*nextarc; //指向下一条边的指针
}ArcNode; //边界点类型
typedef struct Vnode
{ Vertex data; //顶点信息
ArcNode*firstarc; //指向第一条边
}Vnode; //邻接表头结点类型
typedef struct
{ }Gragh; //图类型
三、计算机网络(30’)
1、(15’)传输速率为1000kbps,传输时间为0.27s,数据大小为1kb,确认帧大小为3bit,求信道利用率。
(1) 停止—等待协议的信道利用率;
(2) 回退N步的信道利用率;
(3) 选择重传的信道利用率。
2、(15’)划分子网