Maison >développement back-end >Tutoriel Python >Explication détaillée de la recherche binaire et exemples de tri rapide en Python

Explication détaillée de la recherche binaire et exemples de tri rapide en Python

黄舟
黄舟original
2017-10-14 10:23:372440parcourir

Cet article présente en détail les connaissances pertinentes sur la recherche binaire Python et le tri rapide à travers un exemple de code. Les amis dans le besoin peuvent s'y référer

L'idée est simple et il y a beaucoup de détails que j'ai trouvé très ; programme simple de deux petites manières, j'ai trouvé fréquemment des bugs en l'écrivant, donc je garde cela en souvenir.


#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)

Résumé

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn