2017 408选择题错题

本文主要分析2017年408考试中的选择题,涉及时间复杂度、图的邻接矩阵、折半查找判定树、排序算法在链式存储中的应用、主存组织与寻址方式、变址寻址以及指令流水线等计算机科学基础概念。文章通过实例解析和特性探讨,帮助考生理解和掌握相关知识点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2017 408选择题错题

1

下列函数的时间复杂度是
int func(int n){
int i = 0,sum = 0;
while(sum < n)
sum += ++i;
return i;
}
sum += ++i;等于
sum = sum + ++i;
sum=0,i=0;sum=0+1=1;
sum=1+2=3;sum=3+3=6;sum=6+4=10;
sum=10+5=15;sum=15+6=21;
不是O(n),
当n为1时,执行1次;
当n为2时,sum执行两次;
当n为3时,sum执行两次;
当n为4时,sum执行三次;
当n为5时,sum执行三次;
当n为6时,sum执行三次;
当n为7时,sum执行四次;
8,4
9,4
经过以上分析可以知道:
进行到第k趟循环的时候
sum=0+1+2+3+4+5+。。。+k
=(1+k)*k/2
所以时间复杂度为O(n^1/2)
这种思路真的很巧妙,而且举例子的办法也失效了,需要记住

2

所谓邻接矩阵存储,是指用一个一维数组存储图中顶点的信息,用一个二维数组存储图中边的信息(即各顶点之间的邻接关系),存储顶点之间邻接关系的二维数组称为邻接矩阵。
邻接矩阵空间复杂度为O(n^2),不适合存储稀疏矩阵。

结点数为n的图G=(V,E)的邻接矩阵A是n*n的,将G的顶点编号为v1,v2,v3,v4。若vi,j是图的一条边,则A [ i ] [ j ]=1,否则=0;
图的邻接矩阵表示法具有如下特点:
1:无向图的邻接矩阵一定是一个对称矩阵(并且唯一)。因此,在实际存储邻接矩阵时只需存储上(或下)三角矩阵的元素。
2:对于无向图,邻接矩阵的第i行(或第i列)非零元素的个数正好是顶点i的度TD(vj)
3:对于有向图,邻接矩阵的第i行非零元素的个数正好是顶点i的出度,第i列非零元素的个数正好是顶点i的入度。
4:用邻接矩阵存储图,很容易确定图中任意两个顶点之间是否有边相连。但是,要确定图中有多少条边,则必须按行,按列对每个元素进行检测,所花费的时间代价很大。
5:稠密图适合使用邻接矩阵的存储表示

十字链表是有向图的一种链式存储结构。在十字链表中,对应于有向图中的每条弧有一个结点,对应于每个顶点也有一个结点。
弧结点
tailvex,headvex,hlink,tlink,info
尾域(tailvex)和头域(headvex)分别指示弧尾和弧头这两个顶点在图中的位置;
链域hlink指向弧头相同的下一条弧,链域tlink指向弧尾相同的下一条弧;
info域指向该弧的相关信息。
这样,弧头相同的弧就在同一个链表上;
弧尾相同的弧也在同一个链表上。

3折半查找判定树

折半查找判定树是折半查找过程中产生

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值