python 검색 알고리즘 원리 및 실례 설명

일반적으로 우 리 는 문 제 를 해결 할 때 여러 가지 해결 방식 을 만 날 수 있 습 니 다.어쨌든 가장 좋 은 것 이 있 고 가장 추천 하지 않 는 선택 도 있 습 니 다.검색 알고리즘 에 대해 서도 마찬가지 입 니 다.실현 할 수 있 는 방식 도 여러 가지 가 있 기 때문에 여러분 들 이 어떤 장면 에서 이런 알고리즘 을 사용 하 는 지 모 르 겠 습 니 다.어쨌든 작은 편집 은 이런 알고리즘 을 정리 하여 여러분 들 이 선택 할 수 있 도록 합 니 다.또한 개인 적 인 이 해 를 위해 어떤 것 이 더 좋 은 지 참고 하 셔 도 좋 습 니 다.
검색 알고리즘
선형 검색
찾 으 려 는 특정한 값 을 찾 을 때 까지 배열 의 모든 요 소 를 일정한 순서 로 검사 합 니 다.가장 간단 한 검색 알고리즘 입 니 다.

이분 검색 알고리즘
이런 검색 알고리즘 은 매번 비교 할 때마다 검색 범 위 를 절반 으로 축소 시킨다.
플러그 인 검색 알고리즘
찾 으 려 는 키워드 key 와 순서 표 에서 가장 크 고 최소 로 기 록 된 키 워드 를 비교 한 검색 방법 으로 입력 배열 이 선형 으로 증가 했다 고 가정 합 니 다.
점프 검색 알고리즘
고정된 점프 간격 을 통 해 2 점 찾기 보다 효율 이 훨씬 높 아 졌 다.
빠 른 선택
빠 른 선택 은 보통 제자리 알고리즘 으로 이 루어 집 니 다.k 번 째 작은 요 소 를 선택 하 는 것 을 제외 하고 데이터 도 일부 정렬 되 었 습 니 다.
검색 금지
부분 에서 벗 어 나 가장 좋 은 검색 방법 인 현대 계발 식 알고리즘 이다.
알고리즘 에 대한 지식 포인트 확장:
선형 검색

def linear_search(data, search_for):
 """    """
 search_at = 0
 search_res = False
 while search_at < len(data) and search_res is False:
 if data[search_at] == search_for:
  search_res = True
 else:
  search_at += 1
 return search_res
lis = [5, 10, 7, 35, 12, 26, 41]
print(linear_search(lis, 12))
print(linear_search(lis, 6))
플러그 인 검색

def insert_search(data,x):
 """    """
 idx0 = 0
 idxn = (len(data) - 1)
 while idx0 <= idxn and x >= data[idx0] and x <= data[idxn]:
 mid = idx0 +int(((float(idxn - idx0)/(data[idxn] - data[idx0])) * (x - data[idx0])))
 if data[mid] == x:
  return "    "+str(mid) + "      " + str(x)
 if data[mid] < x:
  idx0 = mid + 1
 return "     " + str(x)
 
 
lis = [2, 6, 11, 19, 27, 31, 45, 121]
print(insert_search(lis, 31))
print(insert_search(lis, 3))
python 검색 알고리즘 원리 및 인 스 턴 스 설명 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 python 검색 알고리즘 사용 방법 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 지원 바 랍 니 다!

좋은 웹페이지 즐겨찾기