【问题标题】:Algorithm complexities and stl::vector算法复杂性和 stl::vector
【发布时间】:2014-12-20 03:18:17
【问题描述】:

假设:

int arr[10]; // you have O(n ) linear algorithm for search

但是当你使用时:

std::vector<int> V; 

问题是:向量的实现背后的搜索算法复杂度是多少?

【问题讨论】:

标签: c++ algorithm vector


【解决方案1】:

在数组中搜索,std::vectorO( n ) 而不是 O( log n )

O( log n )只有在array/std::vector被排序后才会得到。

std::vector 实现不包含任何搜索算法,但是要获得O( log n ),首先需要对其进行排序,然后执行二进制搜索,这与数组相同。

【讨论】:

  • @MohsenPahlevanzadeh 我认为我不需要更新我的帖子,恕我直言,你现在已经改变了你的整个问题,无论如何,为了在std::vector 中执行搜索,你可以使用std::find
猜你喜欢
  • 1970-01-01
  • 2011-11-26
  • 2016-07-11
  • 1970-01-01
  • 1970-01-01
  • 2017-09-28
  • 2012-10-12
  • 2017-11-28
  • 2015-04-25
相关资源
最近更新 更多