중화사전망 - 자전 검색 - 파이썬: 정렬된 시퀀스 요소 조회 정보

파이썬: 정렬된 시퀀스 요소 조회 정보

1 소개

정렬된 시퀀스 요소 검색은 python 알고리즘에서 전형적이고 중요한 기술입니다. 질서 정연한 시퀀스 요소 검색을 배우면 질서 정연한 시퀀스 검색과 관련된 문제를 더 빨리 해결할 수 있으며, 문제 해결의 논리적 능력을 더 잘 반영하고 코드 수준을 높일 수 있습니다.

요소를 찾습니다. 일반적으로 for 루프를 사용하여 순회한 다음 if 문을 사용하여 검색할 수 있습니다. For 루프보다 이분법이 더 편리하다. 이분법 사상 키워드별로 정렬된 시퀀스의 경우 비교 후 시퀀스를 두 부분으로 나눈 다음 검색할 요소가 포함될 수 있는 부분에서만 검색을 계속하고 시도 결과에 따라 검색을 계속하여 찾거나 찾을 수 없을 때까지 검색 범위를 좁힐 수 있습니다.

2 문제 설명

예: 순서가 지정된 시퀀스에서 요소를 찾는 방법

입력: [1, 2,3,4,5,6, ...,100] 61# 검색된 요소.

출력: 6 1

3 알고리즘 설명

여기서 우리는 주로 이분법으로 찾는다. 이분법은 주로 주어진 일련 번호의 중앙값과 비교한 다음 검색할 범위를 선택하는 것입니다. 예를 들어, [1, 2,3,4, ..., 100]. 먼저1-/kloc/를 취합니다 그런 다음 이 방법을 반복하여 검색할 요소 (6 1) 가 보존될 때까지 중복 요소를 제거합니다.

4 결론

두 가지 방법으로 정렬된 시퀀스의 요소를 찾을 수 있습니다. 하나는 for 루프를 통해 검색하는 것입니다. 두 번째는 이분법으로 검색하는 것이다. 여러 번 검색할 때 이분법을 사용하는 것이 편리하다.

첨부 파일

Def my _ func(my _ list, searched _ number):# 이분법

시작 번호 인덱스 = 0

End _ number _ index = len (my _ list)-1

Start _ number _ index & lt= 종료 번호 색인:

Mid _ number _ index = (start _ number _ index = end _ number _ index)//2

Mid_number = 내 목록 [mid_number_index]

If mid _ number & lt 검색 수량:

Start _ number _ index = mid _ number _ indexn+1

Elif mid_number > 입니다. 검색 수량:

End _ number _ index = mid _ number _ index-1

그렇지 않은 경우:

Return' 이 찾으려는 번호% d'% searched _ number' 를 찾았습니다.

My _ list = list(range( 1, 10 1))

Searched_number = 6 1

Print(my _ func(my _ list, mid _ number))# 결과 숫자 6 1 이 발견되었습니다.