Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 列表搜索的最佳/最差情况下的步数_C++_Algorithm - Fatal编程技术网

C++ 列表搜索的最佳/最差情况下的步数

C++ 列表搜索的最佳/最差情况下的步数,c++,algorithm,C++,Algorithm,我有一个长度为“n”的列表,它是一个未知的偶数。 索引为偶数的单元格中存在键“x”的概率是其他单元格的两倍。例如: _ _ _ _ _ _ _ _ _ _ _ _ |_0_|_1_|_2_|_3_|_4_|_5_| index | | | | | | _ _ _ _ _ _ _ _ _ _ _ _ |_9_|_5_|_7_|_3_|_8_|_0_| value 因为“x”肯定存在,所以所有概率之和为1。因此,每个单元可以有1/2的概率长度;但根据第一行

我有一个长度为“n”的列表,它是一个未知的偶数。 索引为偶数的单元格中存在键“x”的概率是其他单元格的两倍。例如:

 _ _ _ _ _ _ _ _ _ _ _ _
|_0_|_1_|_2_|_3_|_4_|_5_|    index

  |   |   |   |   |   |
 _ _ _ _ _ _ _ _ _ _ _ _
|_9_|_5_|_7_|_3_|_8_|_0_|    value
因为“x”肯定存在,所以所有概率之和为1。因此,每个单元可以有1/2的概率长度;但根据第一行,分布是不同的。因此:

p(T) = 1
p(0) + p(2) + p(4) = 2 * (p(1) + p(3) + p(5))

如何计算平均比较时间?

以下是在搜索中在索引
I
上找到
x
的概率:


我不认为值的分布对线性搜索的最佳和最坏情况有任何影响。@molbdnio这些值不会;但清单的长度确实如此。项目越多,执行时间越长;虽然在这种情况下不是线性关系。Thx,但我需要比较的数量;我已经有了这些可能性了。@Nitwit,这没有任何意义。你不知道比较的次数,只知道概率。我说的是最佳/最差/平均值cases@Nitwit首先,你需要明确你的问题。第二:最佳案例:1比较。最坏情况n比较。平均值:只能根据概率计算:p@nitwit我的意思是在问题帖上。问题本身必须清楚。评论用于请求澄清和/或额外信息,然后需要编辑问题以包含这些澄清。在你的问题中,不清楚你在问什么。