小编ngo*_*mez的帖子

Big-O 表示法是否也是根据所使用的函数计算的?

我正在学习 Big-O 表示法和算法来提高我的面试技巧,但我不太明白如何获得时间复杂度。

假设我想对以下列表的所有元素求和。

std::vector<int> myList = {1,2,3,4,5} ;
Run Code Online (Sandbox Code Playgroud)

情况1:

int sum = 0;
for (int it: myList)
{
  sum += it;
}
Run Code Online (Sandbox Code Playgroud)

案例2:

int sum = std::accumulate(std::begin(myList), std::end(myList), 0);
Run Code Online (Sandbox Code Playgroud)

情况 1 是 O(N),情况 2 显然是 O(1),但我确信这些函数会进行某种迭代,所以问题是 Big-O 表示法是否仅根据该书面代码计算块或所使用的功能。

c++ algorithm time big-o

0
推荐指数
1
解决办法
201
查看次数

标签 统计

algorithm ×1

big-o ×1

c++ ×1

time ×1