가장 큰 요소와 가장 작은 요소를 찾으려면 비교 횟수와 비교 방법 중 가장 효율적인 방법(if-else 문을 사용하여 요소를 비교하는 방법 또는 비교 방법)에 중점을 두어야 합니다. if-else 문을 내장으로 사용하는 요소입니다. 전체 코드 구현과 설명을 살펴보겠습니다. 이 기사에서는 주어진 정사각형 행렬에 존재하는 가장 큰 요소와 가장 작은 요소를 계산하는 JavaScript 프로그램을 구현합니다.
이 질문은 간단하지만 더 깊이 파고들면 배울 가치가 있는 뛰어난 개념이 나올 것입니다.
이 문제에는 행렬에 존재하는 최대 및 최소 요소를 찾아야 하는 행렬이 제공됩니다. 예를 들어 행렬이 -
인 경우 으아아아위 행렬에서 1은 최소 또는 최소 요소이고 9는 최대 또는 최대 요소라고 말할 수 있습니다.
코드 구현을 통해 이 문제를 해결하는 방법을 살펴보겠습니다. -
이 방법에서는 모든 요소를 한 번에 반복하고 현재 요소보다 큰지 확인합니다. 다음 단계를 따르세요 -
먼저 다양한 행렬을 전달하고 결과를 얻는 함수를 만들어보겠습니다
주어진 행렬에 대해 for 루프를 사용하여 반복하기 위해 행과 열을 가져옵니다.
최소 및 최대 요소를 저장하기 위해 두 개의 변수를 만들고 행렬의 요소가 이 값보다 작거나 같다고 가정하고 최소 요소 1000000000으로 초기화하겠습니다.
또한 행렬의 요소가 이 값보다 크거나 같다고 가정하여 최대 요소를 -1000000000으로 초기화합니다.
for 루프를 사용하여 행렬을 반복하고 각 인덱스에 대해 두 개의 if-else 조건을 사용합니다.
필요한 비교를 통해 최대값과 최소값을 업데이트합니다.
위 코드의 시간 복잡도는 O(N*M)입니다. 여기서 N과 M은 각각 행과 열입니다. 또한 공간복잡도는 O(1)이다.
여기서 주요 문제는 시간 복잡도가 아니라 비교 횟수입니다. 위 코드에서는 각 인덱스에 대해 최소 및 최대 요소를 확인하기 때문에 N * M * 2 비교를 수행합니다.
이 방법은 대부분 위의 방법과 유사하지만, 비교 부분에서는 이제 일부 if-else 문을 업데이트하여 3/2 * N* M 비교를 수행하겠습니다. 코드를 살펴보겠습니다 -
위 코드의 시간 복잡도는 O(N*M)입니다. 여기서 N과 M은 각각 행과 열입니다. 또한 공간복잡도는 O(1)이다.
여기서 비교 횟수는 이전보다 적어서 이제 3/2 * (N*M)입니다.
이 튜토리얼에서는 주어진 정사각형 행렬에 존재하는 최대 및 최소 요소를 계산하는 JavaScript 프로그램을 구현합니다. 주어진 행렬을 반복하고 각 요소를 답을 저장하는 변수와 비교합니다. 두 가지 기술이 논의됩니다. 하나는 2*N*M 비교이고 다른 하나는 3/2*N*M 비교이지만 두 방법 모두 동일한 공간 복잡도를 갖습니다.
위 내용은 정사각형 행렬에서 최대값과 최소값을 찾는 JavaScript 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!