ホームページ  >  記事  >  ウェブフロントエンド  >  行列の対角の合計を効率的に計算する JavaScript プログラム

行列の対角の合計を効率的に計算する JavaScript プログラム

王林
王林転載
2023-09-18 09:19:351322ブラウズ

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

行列の対角の和を効率的に計算するプログラムを JavaScript で作成します。これを行うには、ループ構造を使用して行列を反復し、対角に対応する位置にある要素を追加します。行列の数学的特性を利用することで、対角の合計に必要な計算量を最小限に抑えることができます。このアプローチにより、計算効率の高い方法でさまざまなサイズの行列を処理できるようになります。

###方法###

    行列の対角の合計を計算するには、主対角 (左上から右下) と二次対角 (右上から下 - 左) の要素値を加算する必要があります
  • 二重ループ アプローチを使用して、1 つのループが行を通過し、2 番目のループが列を通過して対角線上の要素にアクセスできます。
  • 主対角線と副対角線の要素の合計をそれぞれ保存する 2 つの変数を保持できます。
  • 主対角線上の要素にアクセスするには、現在の行インデックスと列インデックスを追加する必要がありますが、下対角上の要素の場合は、行インデックスから列インデックスを減算する必要があります。
  • 李>最後に、2 つの変数の合計を結果として返します。これにより、行列の両方の対角要素の合計が得られます。
  • ###例###
  • これは、行列の対角の合計を効率的に計算する JavaScript プログラムの例です -
リーリー

イラスト

変数

sum
    を初期化して対角の合計を格納し、変数 n を初期化して行列の行数を格納します。
  • for ループを使用して行列を反復処理し、対角値を

    sum に加算します。
  • 各反復 i に対して、主対角
  • matrix[i][i]

    と反対角 matrix[i][n - i - 1] を追加します。 行列の行数が奇数の場合は、中央の値

    matrix[mid][mid]
  • を減算します (
  • mid

    は中央の行です)インデックスは、Math.floor(n / 2)) を使用します。2 回加算されるため、計算されます。

    合計の値を返します。
  • このアルゴリズムの時間計算量は

    O(n)
  • であり、行列の対角の合計を計算するための効率的なソリューションになります。

以上が行列の対角の合計を効率的に計算する JavaScript プログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。