1
我在C++中使用了Armadillo庫。C++犰狳:最近的鄰居
假設我有一個n×1列矩陣,它按數字順序排序。例如
mat X; X.randn(100,1);
mat X_sorted; X_sorted = sort(X);
cout << X_sorted << endl;
,並假設我有一個變量
double y = 0.5;
我想:是找到指數,z
的x_sorted
,爲此x_sorted(z)
是最接近爲y的一種方式。如果是領帶(這在我的情況中並不重要),只需選擇較大的那個。這樣做的
解決方案必須在一個單一的線是優雅。但它不具有最佳的漸近時間複雜度。比較數組中的每個值與變量的漸近時間複雜度爲「O(n)」。二進制搜索將具有漸近時間複雜度「O(log(n))」。 – Svaberg 2015-10-18 21:36:56