c++ - 找出平均比较次数

标签 c++ algorithm

我想编写一个算法来查找 100000 个数组 100000 的最小值和最大值,大小为 1000,包含从 1 到 1000 的随机数。该算法假设返回比较的平均次数。

假设我使用复杂度为 O(n) 的原始解决方案,平均比较次数应该是多少? 1999 年还是 2000 年(最小值和最大值)?

我也想问一下如何在cpp中创建一个随机数组。

最佳答案

您必须将每个元素进行两次比较(一次与当前最小值比较,一次与当前最大值比较)。

这并不“天真”,这是找到未排序数字的最小值和最大值的最佳方法。

关于c++ - 找出平均比较次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49471942/

相关文章:

c++ - 指针作为非类型模板参数

c++ - 即使正在引用变量,也会收到警告 C4189 "local variable is initialized but not referenced"

c# - 更改自定义优先级队列中的优先级

c++ - 我应该使用什么样的数据结构来实现 UPGMA?

c++ - 是否存在应该避免使用 constexpr 的情况,即使它可以使用?

c++ - 无法将着色器链接到 OpenGL 中的程序对象,无法调试

java - 力扣 : Partition array according to a pivot

c++ - 计算相邻矩形的数量

algorithm - 图数据结构的最坏情况内存

c++ - 了解子集之和