>  기사  >  백엔드 개발  >  행렬의 왼쪽 대각선의 합을 계산하는 Python 프로그램

행렬의 왼쪽 대각선의 합을 계산하는 Python 프로그램

王林
王林앞으로
2023-09-17 23:33:051378검색

행렬의 왼쪽 대각선의 합을 계산하는 Python 프로그램

Python은 데스크톱 애플리케이션부터 웹 개발 및 기계 학습에 이르기까지 광범위한 산업에서 사용되는 널리 사용되는 범용 프로그래밍 언어입니다.

간단한 구문으로 인해 코딩을 시작하는 초보자에게 이상적입니다. 이번 글에서는 Python을 사용하여 "행렬의 왼쪽 대각선 요소의 합"을 계산하는 방법을 알아봅니다.

매트릭스

수학에서는 직사각형 배열이나 행렬을 사용하여 수학적 대상이나 수학적 대상의 속성을 설명합니다. 이는 행과 열로 배열된 숫자, 기호 또는 표현식을 포함하는 직사각형 배열 또는 테이블입니다.

으아악

이것은 3행 4열의 행렬입니다. 그리고 3*4 행렬로 표현됩니다.

  • 행렬에는 두 개의 대각선, 즉 주 대각선과 보조 대각선이 있습니다.

  • 주 대각선은 왼쪽 상단에서 오른쪽 하단까지의 대각선이고, 보조 대각선은 왼쪽 하단에서 오른쪽 상단까지의 대각선입니다.

주어진 예에서 -

으아악

여기서 a

00과 a11은 모두 주대각선이고 a10과 a01은 주대각선 2차 행렬입니다.

행렬의 왼쪽 대각선의 합

이제 기본 사항을 검토하고 행렬과 대각선에 대한 철저한 이해를 마쳤으므로 주제를 더 깊이 탐구하고 코딩 측면을 완성해 보겠습니다.

합계를 계산하려면 2D 행렬을 사용합니다. 요소가 다음과 같은 4*4 행렬을 생각해 보세요 -

으아악

  • 여기서

    a00,a11,a22,a33은 기본 또는 기본 행렬이며 작업을 완료하기 전에 조건이 있습니다. 두 대각선의 조건을 이해해 봅시다.

  • 행렬의 주대각선에 있는 요소의 합을 취하려면 요소의 합에 대해 요소가 행 = 열이어야 함을 지정하는 행-열 조건을 충족해야 합니다.

  • 이제 하위 대각선의 경우

    a03, a12, a21, a30 요소의 경우 행 및 열 조건은 행 수 - 열 수 - 1이 됩니다.

For 루프 사용

이 방법에서는 이를 달성하기 위해 두 개의 루프, 즉 행과 열에 대한 루프와 우리가 제공하는 조건을 확인하는 내부 루프를 사용합니다.

알고리즘

  • MAX 값을 제공합니다.

  • 행렬을 정의하는 함수.

  • 숫자를 반복하려면 for 루프를 사용하세요.

  • 행렬의 왼쪽 대각선에 대한 조건을 제공하세요.

  • 값을 인쇄하세요.

아래 예제는 4 x 4 행렬에서 왼쪽 대각선 요소의 합을 계산하는 것입니다. for 루프는 행렬의 각 행과 열을 통과하며 동일하면(즉, 왼쪽 대각선에서) 해당 요소가 "leftmatrix"라는 변수에 추가됩니다.

으아악

출력

이 방법에서는 간단히 함수를 정의하고 for 루프를 사용하여 행과 열의 범위를 만듭니다. 왼쪽 대각선에 있는 요소에 대한 조건을 추가합니다.

시간 복잡도− O(N*N) 왜냐하면 중첩 루프를 사용하여 N*N 번 확인하기 때문입니다.

추가 공간을 소비하지 않으므로 보조 공간 복잡도는 O(1)입니다.

으아악

단일 루프 사용

이 방법에서는 단일 루프를 사용하여 주 대각선과 보조 대각선의 합을 계산할 수 있습니다.

알고리즘

  • MAX 값을 제공합니다.

  • 행렬을 정의하는 함수.

  • 숫자를 반복하려면 for 루프를 사용하세요.

  • 행렬의 왼쪽 대각선에 대한 조건을 제공하세요.

  • 값을 인쇄하세요.

다음 예에서는 행렬과 m이라는 두 가지 매개변수를 받는 sumofleftdiagonal이라는 함수를 정의합니다.

  • 첫 번째 매개변수인 Matrix는 2차원 배열이고, 두 번째 매개변수인 m은 2차원 배열의 크기를 나타냅니다.

  • 이 함수에는 left_diagonal이라는 변수가 있는데, 이는 행렬의 왼쪽 대각선에 있는 모든 요소의 합을 저장하는 데 사용됩니다

  • 그런 다음 for 루프는 0에서 m(크기) 범위의 각 요소를 반복하고 해당 값을

    left_diagonal에 추가합니다.

  • 마지막으로 출력 문은 "

    Sum of Left Diagonal is:"을 인쇄하고 그 뒤에 left_diagonal에 저장된 내용이 인쇄됩니다. MAX가 50으로 설정되고 T가 또 다른 4x4 배열인 경우의 예

  • 으아악
출력

N개 요소를 반복하려면 루프가 필요하므로 시간 복잡도는 O(N)입니다. 추가 공간이 소모되지 않으므로 보조 공간 복잡도는 O(1)입니다.

으아악

결론

이 기사에서는 Python 프로그램을 사용하여 행렬의 왼쪽 대각선의 합을 계산하는 두 가지 간단한 방법을 간략하게 논의했습니다. 첫 번째 방법은 두 개의 루프를 사용하여 주어진 작업을 수행하는 반면, 두 번째 방법은 더 짧은 경로에서 동일한 작업을 수행하는 효율적인 방법을 제공합니다.

위 내용은 행렬의 왼쪽 대각선의 합을 계산하는 Python 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제