如果我有一個矩陣的上三角部分,在對角線上方的偏移量,存儲爲線性陣列,矩陣元素的指數如何從數組的線性索引中提取?線性指數上三角矩陣
例如,線性陣列[a0, a1, a2, a3, a4, a5, a6, a7, a8, a9
爲矩陣
0 a0 a1 a2 a3 0 0 a4 a5 a6 0 0 0 a7 a8 0 0 0 0 a9 0 0 0 0 0
存儲和我們想知道第(i,j)的陣列中的對應於在所述線性矩陣偏移索引,且無需遞歸。
合適的結果,將k2ij(int k, int n) -> (int, int)
滿足例如
k2ij(k=0, n=5) = (0, 1) k2ij(k=1, n=5) = (0, 2) k2ij(k=2, n=5) = (0, 3) k2ij(k=3, n=5) = (0, 4) k2ij(k=4, n=5) = (1, 2) k2ij(k=5, n=5) = (1, 3) [etc]
爲最後一列的元素寫一個公式。爲了使它更容易編寫一個從行號計算線性索引的公式(列號是固定的),然後將其反轉。從那裏繼續一個通用公式。 – 2014-11-23 06:57:44
請注意,此處介紹的解決方法也可以用於列出N次事件的組合(無需重複),而不需要任何迭代/遞歸。 – 2015-03-30 15:03:40