diff --git a/11-rozdel-a-panuj/binsearch.py b/11-rozdel-a-panuj/binsearch.py new file mode 100644 index 0000000000000000000000000000000000000000..d54196671157770b84e6f2db3bbdfe05511163fb --- /dev/null +++ b/11-rozdel-a-panuj/binsearch.py @@ -0,0 +1,19 @@ +#!/usr/bin/python3 +# Binární vyhledávání + +def hledej(A, x): + # Hledá x v poli A, vrací buď pozici, nebo None + + def bin(l, r): + # Hledá x v úseku A[l...r] + if l > r: + return None + s = (l+r) // 2 + if x < A[s]: + return bin(l, s-1) + elif x > A[s]: + return bin(s+1, r) + else: + return s + + return bin(0, len(A)-1)