首頁  >  文章  >  web前端  >  JavaScript 程式可有效計算矩陣對角線之和

JavaScript 程式可有效計算矩陣對角線之和

王林
王林轉載
2023-09-18 09:19:351327瀏覽

JavaScript 程序可有效计算矩阵对角线之和

我們將用 JavaScript 寫一個程式來有效計算矩陣對角線的總和。為此,我們將利用循環結構來迭代矩陣並添加位於與對角線對應的位置的元素。透過利用矩陣的數學特性,我們可以最大限度地減少求對角線總和所需的計算量。透過這種方法,我們將能夠以計算有效的方式處理各種大小的矩陣。

方法

  • 要計算矩陣的對角線總和,我們需要將主對角線(左上到右下)和次對角線(右上到下)上的元素值相加-左)

  • 可以使用雙循環方法,其中一個循環遍歷行,第二個循環遍歷列以存取對角線上的元素。

  • 我們可以保留兩個變數來分別儲存主對角線上和次對角線上的元素總和。

  • 要存取主對角線上的元素,我們需要新增目前的行索引和列索引,而對於次對角線上的元素,我們需要從行索引中減去列索引。

    李>
  • 最後,我們傳回兩個變數的總和作為結果,這將給出矩陣兩個對角線上元素的總和。

範例

這是一個有效計算矩陣對角線總和的 JavaScript 程式範例 -

function diagonalSum(matrix) {
   let sum = 0;
   let n = matrix.length;
    
   for (let i = 0; i < n; i++) {
      sum += matrix[i][i];
      sum += matrix[i][n - i - 1];
   }
     
   if (n % 2 !== 0) {
      let mid = Math.floor(n / 2);
      sum -= matrix[mid][mid];
   }
     
   return sum;
}
const matrix = [[1, 2, 3],[4, 5, 6], [7, 8, 9]];
console.log(diagonalSum(matrix));

說明

  • 初始化變數sum來儲存對角線之和,初始化變數n來儲存矩陣中的行數。

  • 使用 for 迴圈迭代矩陣,將對角線的值加到 sum 中。 對於每次迭代 i,我們加入主對角線 matrix[ i][i] 和反角矩陣[i][n - i - 1]。

  • #如果矩陣的行數是奇數,我們減去中間的值matrix[mid][mid](其中mid是中間行索引,使用Math.floor(n / 2)) 計算,因為它會被加兩次。

  • 傳回總和的值。

#此演算法的時間複雜度為 O(n),使其成為計算矩陣對角線和的有效解決方案。

以上是JavaScript 程式可有效計算矩陣對角線之和的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除