JavaScript 데이터 구조의 이 진 트 리 찾기 알고리즘 예제

본 고의 실례 는 자 바스 크 립 트 데이터 구조의 이 진 트 리 의 검색 알고리즘 을 설명 한다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.
앞의 글 은 이 진 트 리 의 옮 겨 다 니 는 것 을 소개 하 였 으 며,지금 은 이 진 트 리 에서 찾 아 보 는 것 에 대해 이야기 하 였 다.이 진 트 리 에 있어 서 일반적으로 다음 과 같은 세 가지 검색 이 있 습 니 다.최대 값,최소 값 과 주어진 값 입 니 다.
가장 작은 값 을 찾 는 것 은 마지막 노드 를 찾 을 때 까지 왼쪽 트 리 를 옮 겨 다 니 는 것 입 니 다.이 는 이 진 트 리 에서 작은 값 이 항상 왼쪽 노드 에 있 기 때 문 입 니 다.
코드 는 다음 과 같 습 니 다:

function getMin(){//     
    var current=this.root;//     
    while(current.left!=null){
      current=current.left;
    }
    return current.data;
}

같은 이치 로 최대 값 의 코드 를 찾 을 수 있 습 니 다.다음 과 같 습 니 다.

function getMax(){//     
  var current=this.root;
  while(current.right!=null){//            
    current=current.right;
  }
  return current.data;
}

그리고 이 진 트 리 에서 지정 한 값 을 찾 는 것 도 어렵 지 않 습 니 다.노드 값 의 검색 값 의 크기 를 순서대로 판단 하 는 것 입 니 다.노드 값 이 작 으 면 계속 오른쪽으로 찾 습 니 다.노드 값 이 크 면 계속 왼쪽으로 찾 습 니 다.코드 는 다음 과 같 습 니 다.

function find(data){//     
    var current=this.root;
    while(current!=null){
      if(current.data==data){
        return current;
      }else if(current.data>data){//          ,    
        current=current.left;
      }else{//          ,    
        current=current.right;
      }
    }//        null
    return null;
}

자 바스 크 립 트 와 관련 된 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있 습 니 다.,,,JavaScript 데이터 구조 와 알고리즘 기술 총화,JavaScript 수학 연산 용법 총화,JavaScript 정렬 알고리즘 요약,JavaScript 스 트 리밍 알고리즘 및 기술 총화JavaScript 찾기 알고리즘 기술 총화.
본 고 에서 말 한 것 이 여러분 의 자 바스 크 립 트 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기