二叉搜尋是在乙個有序的列表中,尋找目標元素。因此我們需要對半查詢即可。當目標元素比中間元素小,則在中間元素的左邊查詢;反之,則在目標元素的右邊查詢。直到左邊界比右邊界還要大停止查詢。
defbinarysearch
(target,
arr):
right = len
(arr) - 1
left = 0
while
left <= right:
middle = (right + left)//2
if arr[middle] == target:
return
middle
elif
arr[middle] > target:
right = middle-1
else
: left = middle+1
return
-1arr = [0,2
,4,5
,7,8
(binarysearch(1
,arr))
python實現二叉搜尋樹
二叉搜尋樹 binary search tree 又名二叉排序樹 binary sort tree 二叉搜尋樹是具有有以下性質的二叉樹 1 若左子樹不為空,則左子樹上所有節點的值均小於或等於它的根節點的值。2 若右子樹不為空,則右子樹上所有節點的值均大於或等於它的根節點的值。3 左 右子樹也分別為二...
Python實現二叉搜尋樹BST
二叉排序樹 binary sort tree 又稱二叉查詢樹。它或者是一棵空樹 或者是具有下列性質的二叉樹 1.若左子樹不空,則左子樹上所有結點的值均小於根結點的值 2.若右子樹不空,則右子樹上所有結點的值均大於根節點的值 3.左 右子樹也分別為二叉排序樹。coding utf 8 用python實...
二叉搜尋樹的python實現
二叉搜尋樹,特點是左節點的值小於根節點的值,右節點的值大於根節點的值,並且左右子樹也遵循這個規律.class binarysearchtree object def init self,key self.key key self.left none self.right none deffind s...