Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python의 이등분 알고리즘 함수

<시간/>

이 모듈은 새 요소를 삽입할 때마다 목록을 정렬할 필요 없이 정렬된 순서로 목록을 유지 관리할 수 있도록 지원합니다. insort_left 및 insort_right라는 두 가지 기능에 중점을 둘 것입니다.

insort_left

이 함수는 필요한 위치에 숫자를 삽입한 후 정렬된 목록을 반환하며 요소가 목록에 이미 있는 경우 가장 왼쪽 가능한 위치에 요소를 삽입합니다. 이 함수는 작업해야 하는 목록, 삽입할 번호, 고려할 목록의 시작 위치, 고려해야 할 끝 위치의 4가지 인수를 취합니다. 시작 위치와 끝 위치의 기본값은 각각 0과 문자열의 길이입니다.

이것은 엄격한 정렬 순서를 유지하지 않고 기존 항목을 삽입한 후 새 요소가 삽입된다는 점을 제외하고는 inser_left와 유사합니다.

구문

bisect.insort_left(a, x, lo=0, hi=len(a))bisect.insort_left(a, x, lo=0, hi=len(a))a는 주어진 sequencex입니다. 삽입

아래 예에서 우리는 목록을 가져와서 먼저 bisect.insort_left 함수를 적용하는 것을 봅니다.

import bisectlistA =[11,13,23,7,13,15]print("주어진 목록:",listA)bisect.insort_left(listA,14)print("이등분 왼쪽:\n",listA)listB =[11,13,23,7,13,15]print("주어진 목록:",listB)bisect.insort_right(listB,14,0,4)print("우등분:\n",listB) 

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

주어진 리스트:[11, 13, 23, 7, 13, 15]좌이등분:[11, 13, 23, 7, 13, 14, 15]주어진 리스트:[11, 13, 23, 7, 13 , 15]이등분:[11, 13, 14, 23, 7, 13, 15]