From 43ee6ac09828afada4bba2bcd270bb0f5438597e Mon Sep 17 00:00:00 2001 From: Subha-12 <114469154+Subha-12@users.noreply.github.com> Date: Mon, 17 Oct 2022 20:33:31 +0530 Subject: [PATCH] Create fibo.py --- Searching/Fibonacci Search/fibo.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 Searching/Fibonacci Search/fibo.py diff --git a/Searching/Fibonacci Search/fibo.py b/Searching/Fibonacci Search/fibo.py new file mode 100644 index 0000000..ec10568 --- /dev/null +++ b/Searching/Fibonacci Search/fibo.py @@ -0,0 +1,30 @@ +def fibonacci_search(lst, target): + size = len(lst) + + start = -1 + + f0 = 0 + f1 = 1 + f2 = 1 + while(f2 < size): + f0 = f1 + f1 = f2 + f2 = f1 + f0 + + + while(f2 > 1): + index = min(start + f0, size - 1) + if lst[index] < target: + f2 = f1 + f1 = f0 + f0 = f2 - f1 + start = index + elif lst[index] > target: + f2 = f0 + f1 = f1 - f0 + f0 = f2 - f1 + else: + return index + if (f1) and (lst[size - 1] == target): + return size - 1 + return None