Python實現二叉搜尋

2021-08-21 11:18:32 字數 578 閱讀 4073

二叉搜尋是在乙個有序的列表中,尋找目標元素。因此我們需要對半查詢即可。當目標元素比中間元素小,則在中間元素的左邊查詢;反之,則在目標元素的右邊查詢。直到左邊界比右邊界還要大停止查詢。

def 

binarysearch

(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

]print

(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...