Heim  >  Artikel  >  Web-Frontend  >  JavaScript-Programm zur effizienten Berechnung der Summe der Matrixdiagonalen

JavaScript-Programm zur effizienten Berechnung der Summe der Matrixdiagonalen

王林
王林nach vorne
2023-09-18 09:19:351275Durchsuche

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

Wir werden ein Programm in JavaScript schreiben, um die Summe der Diagonalen einer Matrix effizient zu berechnen. Dazu verwenden wir eine Schleifenstruktur, um die Matrix zu durchlaufen und Elemente hinzuzufügen, die sich an Positionen befinden, die den Diagonalen entsprechen. Indem wir die mathematischen Eigenschaften von Matrizen ausnutzen, können wir den Rechenaufwand für die Summierung der Diagonalen minimieren. Mit diesem Ansatz werden wir in der Lage sein, Matrizen unterschiedlicher Größe recheneffizient zu verarbeiten.

Methode

  • Um die Summe der Diagonalen einer Matrix zu berechnen, müssen wir die Werte der Elemente auf der Hauptdiagonale (oben links nach unten rechts) und der Nebendiagonale (oben rechts nach unten – links) addieren

  • Sie können einen Doppelschleifenansatz verwenden, bei dem eine Schleife durch die Zeilen und die zweite Schleife durch die Spalten verläuft, um auf die Elemente auf der Diagonale zuzugreifen.

  • Wir können zwei Variablen behalten, um die Summe der Elemente auf der Hauptdiagonale bzw. der Unterdiagonale zu speichern.

  • Um auf Elemente auf der Hauptdiagonale zuzugreifen, müssen wir den aktuellen Zeilenindex und Spaltenindex addieren, während wir für Elemente auf der Nebendiagonale den Spaltenindex vom Zeilenindex subtrahieren müssen.

    李>
  • Schließlich geben wir als Ergebnis die Summe der beiden Variablen zurück, die die Summe der Elemente auf beiden Diagonalen der Matrix ergibt.

Beispiel

Hier ist ein Beispiel für ein JavaScript-Programm, das effizient die Summe der Diagonalen einer Matrix berechnet -

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));

Anleitung

  • Initialisieren Sie die Variable sum, um die Summe der Diagonalen zu speichern, und initialisieren Sie die Variable n, um die Anzahl der Zeilen in der Matrix zu speichern.

  • Verwenden Sie eine for-Schleife, um die Matrix zu durchlaufen und die Diagonalwerte zu sum hinzuzufügen. Für jede Iteration i addieren wir die Hauptdiagonale matrix[ i][i] und die Antidiagonale matrix[i][n - i - 1].

  • Wenn die Anzahl der Zeilen der Matrix ungerade ist, subtrahieren wir den Mittelwert matrix[mid][mid] (wobei mid der mittlere Zeilenindex ist, berechnet mit Math.floor(n / 2). )) weil es zweimal hinzugefügt wird.

  • Gibt den Wert der Summe zurück.

Die zeitliche Komplexität dieses Algorithmus beträgt O(n), was ihn zu einer effizienten Lösung zur Berechnung der Summe von Matrixdiagonalen macht.

Das obige ist der detaillierte Inhalt vonJavaScript-Programm zur effizienten Berechnung der Summe der Matrixdiagonalen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen
Vorheriger Artikel:Firebase- und WebintegrationNächster Artikel:Firebase- und Webintegration