2009年计算机统考试题讲解,2009年考研计算机统考试题――综合应用部分(一)答案...

2e3175d89be078d24dc12e62ad9d3b2e.png 2016考研学习交流群:4102573642ccf841655bc84ce6eda66c40f28f1db.png

41.该方法求得的路径不一定是短路径。例如,对于下图所示的带权图,如果按照题中的原则, 从A到C的短路径为A→B→C,事实上其短路径为 A→D→C。

1a86490d57178328424e029a4595b4e4.png

42. (1)算法基本思想如下:从头至尾遍历单链表,并用指针P指向当前节点的前K个节点。当遍历 到链表的后一个节点时,指针P所指向的节点即为所查找的节点。

(2)详细实现步骤:增加两个指针变量和一个整型变量,从链表头向后遍历,其中指针P1指向当前遍历的节点,指针P指向P1所指向节点的前K个节点,如果P1之前没有K个节点,那么P指向表头 节点。用整型变量i表示当前遍历了多少节点,当i>k时,指针p随着每次遍历,也向前移动一个节 点。当遍历完成时,p或者指向表头就节点,或者指向链表中倒数第K个位置上的节点。

(3)算法描述:  Int LocateElement(linklist list,int k)

{ P1=list->link;

P=list;

i=1;

while(P1)

{ P1=P1->link; i++;

if(i>k) p=p->next; //如果i>k,则p也往后移

}

if(p==list)return 0; //说明链表没有k个结点 else

{

printf(“%dn“,p->data); return 1;

}

}

43. (1)在中断方式下,每32位(4B)被中断一次,故每秒中断 0.5MB/4B=0.5×106/4=12.5×104次

要注意的是,这里是数据传输率,所以1MB=106B。因为中断服务程序包含18条指令,中断服务的 其他开销相当于2条指令的执行时间,且执行每条指令平均需5个时钟周期,所以,1秒内用于中断 的时钟周期数为

(18+2)×5×12.5×104=12.5×106

(2)在DMA方式下,每秒进行DMA操作

5MB/5000B=5×106/5000=1×103 次因为DMA预处理和后处理的总开销为500个时钟周期,所以1秒 钟之内用于DMA操作的时钟周期数为 500×1×103=5×105

故在DMA方式下,占整个CPU时间的百分比是 ((5×105)/(500×106))×100%=0.1%

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值