>  기사  >  웹 프론트엔드  >  JavaScript에서 2차원 배열 검색(코드 예)

JavaScript에서 2차원 배열 검색(코드 예)

不言
不言앞으로
2019-01-07 09:36:546647검색

이 글의 내용은 자바스크립트(코드 예제)에서 2차원 배열을 검색하는 내용입니다. 참고할만한 가치가 있으니 도움이 필요한 분들에게 도움이 되었으면 좋겠습니다.

2차원 배열(각각의 1차원 배열은 길이가 동일)에서는 각 행은 왼쪽에서 오른쪽으로 오름차순으로 정렬되고, 각 열은 위에서 아래로 오름차순으로 정렬됩니다. 함수를 완성하고, 이러한 2차원 배열과 정수를 입력하고, 배열에 정수가 포함되어 있는지 확인하세요.

기본 아이디어

2차원 배열은 다음 데이터와 같이 정렬됩니다.

1 2 3
4 5 6
7 8 9

왼쪽 하단에 있는 숫자를 직접 사용하여 검색을 시작할 수 있습니다.

보다 큼: 비교

덜 than: 오른쪽 비교

코드 아이디어

2차원 배열을 평면 좌표계로 생각해보세요

왼쪽 하단부터 비교 시작 (0, arr.length-1):

목표값이 더 큽니다 좌표 값보다 ---x 좌표 +1

목표 값이 좌표 값보다 작습니다---y 좌표-1

참고:

2차원 배열 arri에서

j는 x 좌표

를 나타냅니다.

i는 y좌표를 나타냅니다.

Code

    function Find(target, array) {
      let i = array.length - 1; // y坐标
      let j = 0; // x坐标
      return compare(target, array, i, j);
    }

    function compare(target, array, i, j) {
      if (array[i] === undefined || array[i][j] === undefined) {
        return false;
      }
      const temp = array[i][j];
      if (target === temp) {
        return true;
      }
      else if (target > temp) {
        return compare(target, array, i, j+1);
      }
      else if (target < temp) {
        return compare(target, array, i-1, j);
      }
    }

확장: 이진 검색

이진 검색 조건은 순서대로 이루어져야 한다는 것입니다.

선형 테이블의 중간점 값과 비교해보세요. 작다면 계속해서 작은 순서로 검색하고, 같은 값을 찾을 때까지 반복하세요.

rreee

위 내용은 JavaScript에서 2차원 배열 검색(코드 예)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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