>  기사  >  웹 프론트엔드  >  행렬이 상부 삼각인지 확인하는 JavaScript 프로그램

행렬이 상부 삼각인지 확인하는 JavaScript 프로그램

WBOY
WBOY앞으로
2023-09-08 08:41:06638검색

JavaScript 程序检查矩阵是否为上三角

상부 삼각 행렬은 행과 열의 수가 동일하고 첫 번째 셀(왼쪽 상단에 위치)부터 마지막 ​​셀(상단에 위치)까지 주대각선 아래의 모든 요소가 포함된 정사각 행렬입니다. 왼쪽 모서리) 오른쪽 아래 모서리)는 0입니다. 위쪽 삼각형은 아래쪽 삼각형에 존재하는 요소가 0임을 의미합니다. 적절한 코드를 구현하고 시간과 공간의 복잡성에 대해 설명하고 논의할 것입니다.

으아악

설명: 주대각선에는 요소 1, 5, 8, 1이 포함되어 있고 주대각선 아래의 모든 셀의 값은 0임을 알 수 있습니다.

으아악

설명: 주대각선에는 요소 1, 5, 8, 1이 포함되어 있고 주대각선 아래의 모든 셀에는 0이 아닌 값이 있는 것을 알 수 있습니다. 왜냐하면 마지막 행의 두 번째 열에 0이 아닌 값이 포함되어 있기 때문입니다.

방법

위의 예를 살펴보았습니다. 이제 코드를 구현하는 단계를 살펴보겠습니다.

먼저, 주어진 행렬을 전달하는 함수를 만듭니다. 우리는 행렬의 주대각선의 아래쪽 부분, 즉 j가 i보다 작은 각 셀(i,j)만 탐색합니다. 0이 아닌 값을 가진 셀을 찾으면 false를 반환하고, 그렇지 않으면 결국 true를 반환합니다.

으아악

출력

으아악

시간과 공간의 복잡성

위 코드의 시간 복잡도는 O(N*N)입니다. 여기서 N은 주어진 행렬의 행 수입니다. 이는 행렬을 한 번만 반복하기 때문입니다.

위 코드의 공간 복잡도는 추가 공간을 사용하지 않기 때문에 O(1)입니다.

결론

이 튜토리얼에서는 주어진 행렬이 상부 삼각 행렬인지 확인하는 JavaScript 프로그램을 구현했습니다. 위쪽 삼각형은 아래쪽 삼각형에 존재하는 요소가 0임을 의미합니다. 열 수가 행 수보다 적은 행렬의 셀을 시간 복잡도 O(N*N) 및 공간 복잡도 O(1)로 반복합니다.

위 내용은 행렬이 상부 삼각인지 확인하는 JavaScript 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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