From eedebf192468413e96c7e2a85c7345f35d005da1 Mon Sep 17 00:00:00 2001 From: Martin Mares <mj@ucw.cz> Date: Thu, 27 May 2021 13:51:53 +0200 Subject: [PATCH] =?UTF-8?q?Rozd=C4=9Bl=20a=20panuj:=20Bin=C3=A1rn=C3=AD=20?= =?UTF-8?q?vyhled=C3=A1v=C3=A1n=C3=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 11-rozdel-a-panuj/binsearch.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 11-rozdel-a-panuj/binsearch.py diff --git a/11-rozdel-a-panuj/binsearch.py b/11-rozdel-a-panuj/binsearch.py new file mode 100644 index 0000000..d541966 --- /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) -- GitLab