데이터 구조 및 알고리즘은 이진 검색을 찾기

순차 검색

  • 데이터 세트에 저장 될 때, 예컨대리스트로서, 우리는 이러한 데이터는 선형 관계 또는 순서를 말한다. 다른 위치로 데이터 요소에 대해 저장된 각 데이터 요소. 인덱스 값이 정렬되어 있기 때문에, 우리는 순서에 액세스 할 수 있습니다. 생산 공정은 검색 순차 검색의 실현이다.
 
  • 순차 검색의 원리 분석 :
    • 우리가 찾고있는 요소를 찾거나 완전한 목록을 통과 할 때까지 목록의 첫 번째 요소부터 우리는 단순히 하나 개의 요소에서 다른 기본 순서 순서에 따라 이동합니다. 우리는 전체 목록을 통과하면 요소가 존재하지 않습니다 찾고있다.
 
  • 코드 구현 :이 기능은 목록을 소요하고 우리는 매개 변수로 요소를 찾고 및 부울 값있는 경우를 반환합니다. 발견 부울 변수는 우리가 목록의 요소를 발견하면, 그것은 참으로 할당 False로 초기화됩니다.
 
 
 
  • 목록을 정렬 된 : 우리는 요소들 사이에 상대적인 순서가 없기 때문에 요소가 무작위로 배치 목록을하기 전에. 요소가 어떤 방법으로 주문하는 경우, 순차적 인 검색 어떻게됩니까? 우리는 검색 기술에 더 나은 효율을 만들 수 있습니까?
 이진 검색 :
  • 우리는 검색의 정렬 된 목록을 달성하기 위해 매우 유용합니다. 첫 번째 요소는하지 우리가 찾고있는 경우에 우리가 첫 번째 요소와 비교할 때, 찾으려면, 다음 요소를 비교해야 할 가장-1 N에있다. 이진 검색이 중간 요소에서 시작하기보다는 순서로 목록을 찾을 수 있습니다. 요소가 우리가 찾고있는 요소 인 경우에, 우리는 모양을 완료했다. 그렇지 않으면, 우리는 속성의 정렬 된 목록을 사용하여 절반 나머지 요소를 제거 할 수 있습니다. 우리가 찾고있는 요소가 중간 요소보다 큰 경우, 당신은 중간 요소를 제거 할 수 있으며, 중간 요소는 절반 요소보다 작습니다. 목록의 요소, 절반의 확실히 큰 부분합니다. 그런 다음 우리는 큰 프로세스의 절반 반복 우리가 콘텐츠를 찾고있는 무슨과 비교, 중간 요소에서 시작을 계속할 수 있습니다.
 
 
검색 DEF (alist, 항목) : 
    찾기 = 거짓 
    낮은 = 0 
    높은 = LEN (alist) - 1. 

    그동안 저 <= 높음 : 
        인덱스 # 중간 위치 
        MID = (고 + 저) // 2 
        IF alist [MID]> 항목을 : 
            높은 = 중간 . 1 
        ELIF의 alist [MID] < 항목 :  = MID + . (1) 
        # 발견이 위치 
        다른 : 
            찾을 = 진정한
             휴식 
    반환 찾을 

alist = [가 . (1), 2 , 5 , 7 , 8 ] 
토너 (검색 (alist, 8 ))

 

 

 

 

 

 

 

추천

출처www.cnblogs.com/XLHIT/p/11366368.html