首页 > 试题广场 >

顺序查找的平均时间是多少?

[单选题]
顺序查找的平均时间是多少?
  • n/2
  • n
  • n * n
  • log n
正确答案
A
答案解析
平均时间的计算方式如下
首先,假定这个数组的长度为n。
目标等概率出现在任意位置,即出现在每个位置的概率均为1/(n+1),其中,找不到的概率也是1/(n+1)
然后,对于第i个位置,需要i次比较才能找出来,则找到的情况下,共需1+2+...+n次查询,即(n*(n+1))/2。
找不到的情况下,也是n次查询。
故平均时间为总比较数,除以位置数,即((n*(n+1))/2+n)/(n+1)=n/2+n/(n+1)。
如果一开始直接当找到,算出来就是(n+1)/2
两个结果都可以当作是n/2
发表于 2018-09-13 17:00:13 回复(0)
更多回答
推荐
答案:A
顺序查找,目标数据可能在序列的任意位置,平均位置是n/2
所以顺序查找平均时间是n/2
注意本题问的是平均时间,不是时间复杂度,时间复杂度只取数量级,略去常数为O(n)
编辑于 2015-02-02 18:12:53 回复(7)
正确答案:A
平均时间的计算方式如下~
首先,假定这个数组的长度为n。
目标等概率出现在任意位置,即出现在每个位置的概率均为1/(n+1),其中,找不到的概率也是1/(n+1)
然后,对于第i个位置,需要i次比较才能找出来,则找到的情况下,共需1+2+...+n次查询,即(n*(n+1))/2。
找不到的情况下,也是n次查询。
故平均时间为总比较数,除以位置数,即((n*(n+1))/2+n)/(n+1)=n/2+n/(n+1)。
如果一开始直接当找到,算出来就是(n+1)/2
两个结果都可以当作是n/2

发表于 2015-01-08 00:41:19 回复(1)
(n+1)/2,没有这个答案,选个最相近的吧。
发表于 2017-10-05 20:14:28 回复(0)
答案:A
比较x(1 <= x <= n)次的概率为1/n。
根据等差数列求和结果为n/2次,即答案A
发表于 2015-03-23 11:29:08 回复(0)
(0+1+2+…+n)/(n+1)=n/2
编辑于 2017-03-11 14:28:33 回复(0)
平均时间,需要去掉常数项
发表于 2021-11-02 08:37:21 回复(0)
顺序查找: ASL:(n+1)/2 O(n) 平均花费时间(n+1)/2或n/2
发表于 2020-03-02 20:59:48 回复(0)

时间复杂度计算 一般是级别衡量忽略常数,logn n平方 n立方 n 不会说二分之一n ,二分之一n平方

发表于 2020-02-04 07:18:39 回复(0)
平均时间,不是最长时间
发表于 2019-06-27 10:53:38 回复(0)

二分之n加1,同阶表示

发表于 2019-04-01 08:09:53 回复(0)
平均时间和平均查找长度有什么区别吗?
发表于 2017-11-22 21:16:58 回复(0)
注意平均时间和时间复杂度的区别
发表于 2017-07-03 16:25:39 回复(0)
关键字平均出现在各个位置,所以是n/2;不要理解成时间复杂度,直接选n。
发表于 2016-02-19 12:58:05 回复(0)
等价于数N  在1-n中被查找到的概率
而数N的值为1-n中任一个的概率均为1/n,当N=1时,被查找到需一次,以此内推
平均查找次数(1+2+.......+n)*1/n =顺序查找的平均时间
发表于 2015-05-02 21:39:06 回复(1)