int arr[10]; // you have O(n) linear algorithm for search
但是當你使用:
std::vector<int> V;
的問題是:什麼是算法的複雜搜索矢量的impelentation的背後?
int arr[10]; // you have O(n) linear algorithm for search
但是當你使用:
std::vector<int> V;
的問題是:什麼是算法的複雜搜索矢量的impelentation的背後?
在搜索中的陣列和std::vector
是O(n)
不O(log n)
O(log n)
將只有當陣列/ std::vector
排序來實現。
std::vector
實現不包含任何搜索算法,但要獲得O(log n)
您首先需要對它進行排序然後執行二分搜索,這與數組也是一樣的。
@MohsenPahlevanzadeh我不認爲我需要更新我的文章,恕我直言,你幾乎已經改變了你現在的整個問題,無論如何,在'std :: vector'中執行搜索,你可以使用[_'std :: find'_](http://en.cppreference .COM/W/CPP /算法/找到) – P0W
'std :: vector'具有恆定的隨機存取時間,所以它是一樣的。 – kec
可能重複[std :: vector與std :: array在C++](http://stackoverflow.com/questions/4424579/stdvector-versus-stdarray-in-c) – Dinal24