川大2016年874答案

川大2016年874答案
川大2016年874答案

数据结构

一、单项选择题

1、A j

2、A 如果一个有序表的元素全小于另一个有序表,比较次数就是N

3、A 哈夫曼树相关,要求任何一个编码不能是其他编码前缀

4、B 每次遍历都需要O(n)

5、B 用尾节点指针可以直接标识。王道上面是顺序存储的数组表示的。

6、A 下三角和主对角,A[5][8]就是A[8][5],1+…+7+5=32

7、D 其他三个都跟初始排列有关

8、D 基础定义

9、B (n+1)/2

10、C 概念题

11、A 第二个不可构成环、最小生成树可能有多颗

12、A Djikstra是基于每一步,所以是贪心,Floyd每次基于全局选择

13、D 基础题

14、C 有环就没有拓扑排序

15、C

16、63+42=105 错题答案105

17、B 基本有序,直接插入更快,定义

18、C 最多时,栈里存156

二、大题

1、2009年408考试真题,且为王道原题

2、迪杰斯特拉堆优化

#include

#include

#include

#include

using namespace std;

int nex[400001];

int to[400001];

int val[400001];

int head[200001];

int f[200001];

int idx,x,y,z;

int inf=2147483647;

bool vis[200001];

struct Point

{

int number,dis;

inline bool operator < (const Point &a) const

return dis>a.dis;

}

};

priority_queue q;

void addedge(int a,int b,int c)

{

nex[++idx]=head[a];

head[a]=idx;

to[idx]=b;

val[idx]=c;

}

int n,m,s;

int main()

{

Point tmp;

scanf("%d%d%d",&n,&m,&s);

for(int i=1;i<=m;i++)

{

scanf("%d%d%d",&x,&y,&z);

addedge(x,y,z);

}

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

f[i]=inf;

tmp.number=s,tmp.dis=0;

f[tmp.number]=0;

q.push(tmp);

while(!q.empty())

{

int here=q.top().number;

q.pop();

if(vis[here])

continue;

vis[here]=1;

for(int j=head[here];j;j=nex[j])

if(f[to[j]]>val[j]+f[here]&&(!vis[to[j]]))

{

f[to[j]]=f[here]+val[j];

tmp.number=to[j];

tmp.dis=f[to[j]];

q.push(tmp);

}

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

printf("%d ",f[i]);

}

操作系统:

一、选择题

1、C 概念题

2、A 概念题

3、B 用户使用系统调用管理文件

4、C

5、B FCFS适合计算型长作业一直执行计算,基础概念题

6、D 短的作业一直执行,长的作业饥饿

7、C 概念题

8、C 概念题

9、A 概念题,记录型信号量知识点

10、A 临界区基本概念

11、A 单道连续分配通过覆盖解决不足问题

12、D 概念题

13、B 2^(24-14)=2^10

14、B 概念题(注意区分长度递增减,地址递增)

15、C 概念题

16、D 概念题

17、B 概念题

18、B 概念题

二、大题

1、是否安全用银行家算法,是否死锁使用死锁定理(资源分配图)。

不安全状态不一定会死锁,死锁一定是不安全状态。

分配资源时,避免死锁,使用银行家算法:检测是否已经发生死锁,死锁检测与解除,用死锁定理。

2、TLB(快表)加速地址变换过程,实现页号到物理块号的映射。

添加四个字段:

---- 状态位P:用于指示该页是否已调入内存,供程序访问时参考。

---- 访问字段A:用于记录本页在一段时间内被访问的次数,或记录本页最近已有多长时间未被访问,供选择换出页面时参考。

---- 修改位M:表示该页在调入内存后是否被修改过。供置换页面时参考。

由于内存中的每一页都在外存上有一份副本,因此,若未被修改,在置换该页时就不需要将该页写回到外存上,以减少系统的开销和启动磁盘的次数;若已被修改,则必须将该页重写到外存上,以保证外存中所保留的始终是最新副本。

---- 外存地址:用于指出该页在外存上的地址,通常是物理块号,供调入该页时参考。

3、简单的生产者消费者问题,将其中的生产和消费换为上传和下载

定义四个信号量:

empty——表示缓冲区是否为空,初值为n。(题目中为1)

full——表示缓冲区中是否为满,初值为0。

mutex1——生产者之间的互斥信号量,初值为1。

mutex2——消费者之间的互斥信号量,初值为1。

生产者进程

while(TRUE){

下载一个;

P(empty);

P(mutex1);

产品送往buffer(in);

V(mutex1);

V(full);

}

消费者进程

while(TRUE){

P(full);

P(mutex2);

从buffer(out)中取出产品;

V(mutex2)

V(empty);

}

计算机网络

一、选择题

1、B 概念题

2、D 最小帧长=总线传播时延*数据传输率*2

3、A 概念题

4、D 概念题(记忆)

5、C 三次握手概念题第一个seq无所谓

6、D 概念题

7、A TTL+1,校验和每次都会算,IP肯定不变,

8、C 第二个字段分别为:00001100、00001101 ,C可以,但不是最好的,最好为255,254,0,0

二、大题

1、距离矢量路由协议(1)仅跟相邻路由器交换信息(2)交换内容是路由器知道的全部信息(3)按固定时间间隔交换路由信息

链路状态路由协议(1)向自治系统中所有路由器发送信息(2)交换的内容是与该路由器相邻的所有路由器的链路状态(3)当链路状态发生变化时交换信息

距离矢量路由协议只跟相邻路由器交换信息,当网络出现故障时收敛较慢,“坏消息传的慢”,产生无穷计数问题

RIP---距离矢量

OSPF---链路状态

2、

(1)基带同轴电缆单模光纤双绞线

传输介质1传输距离100-200米,基带同轴电缆可传输200米左右;传输介质2传输距离2km,单模光纤可进行长距离传输;传输介质3传输距离小于100米,双绞线即可。

(2)BADC

Switch4万兆接入,所以C,switch2是switch3的上一级,所以switch2为A,switch3为D,剩余B

SFP封装---热插拔小封装模块,目前最高速可达4G,多采用LC接口

SFP+封装---标准封装,工作速率是10G,可以满足以太网10G的应用。

注意:本题知识点偏门,了解即可,不要深究

(3)答案不唯一;

202.112.33.1-202.112.33.110 255.255.255.128

202.112.33.129-2.112.33.179 255.255.255.192

202.112.33.193-202.112.33.213 255.255.255.224

202.112.33.225-202.112.33.253 255.255.255.224

相关主题