>백엔드 개발 >파이썬 튜토리얼 >Python의 이진 검색 및 빠른 정렬 예제에 대한 자세한 설명

Python의 이진 검색 및 빠른 정렬 예제에 대한 자세한 설명

黄舟
黄舟원래의
2017-10-14 10:23:372440검색

이 기사에서는 예제 코드를 통해 Python 바이너리 검색 및 빠른 정렬에 대한 관련 지식을 자세히 소개합니다. 필요한 친구는 참고할 수 있습니다.

아이디어가 간단하고 세부 사항이 많습니다. 이 두 개의 작은 프로그램은 매우 간단하다고 생각했습니다. 그런데 쓰고 나서 버그를 발견했어요. 자주 나가서 기념품으로 간직하세요.


#usr/bin/env python
def binary_search(lst,t):
  low=0
  height=len(lst)-1
  quicksort(lst,0,height)
  print lst
  while low<=height: 
    mid = (low+height)/2
    if lst[mid] == t:
      return lst[mid]
    elif lst[mid]>t:
      height=mid-1
    else:
      low=mid+1
  return -1
def quicksort( lst, left , right):
  low=left
  high=right
  key=lst[left]
  if left>=right:
    return 0
  while low<high:
    while low<high and key<lst[high]:
      high=high-1
    lst[low]=lst[high]
    while low<high and key>lst[low]:
      print lst[low]
      low=low+1
    lst[high]=lst[low]
    lst[low]=key
  quicksort( lst , left ,low-1)
  quicksort( lst , low+1 , right)
if __name__==&#39;__main__&#39;:
  print binary_search([4,8,1,5,10,2,12,3,6,9],4)

요약

위 내용은 Python의 이진 검색 및 빠른 정렬 예제에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.