Heim > Web-Frontend > js-Tutorial > Hauptteil

JavaScript-Programm zur effizienten Berechnung der Summe der Matrixdiagonalen

王林
Freigeben: 2023-09-18 09:19:35
nach vorne
1294 Leute haben es durchsucht

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));
Nach dem Login kopieren

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!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!