Day 73 演算法基礎

2022-07-13 10:45:10 字數 1577 閱讀 3988

演算法(algorithm):⼀乙個計算過程,解決問題的⽅方法

niklaus wirth: 「程式=資料結構+演算法」

二分查詢:又叫折半查詢,從有序列表的初始候選區li[0:n]開始,通過對待查詢的值與候選區中間值的比較,可以使候選區減少一半。時間複雜度:o(logn)。

def

binary_search(li, val):

left =0

rigth = len(li) - 1

while left <= rigth: #

判斷是否有值

mid = (left + rigth) // 2

if li[mid] ==val:

return

mid

elif li[mid] > val: #

待查詢的值在 mid 左側

rigth = mid - 1

else: #

待查詢的值在 mid 右側

left = mid + 1

else

:

return

none

li = [1, 2, 3, 4, 5, 6, 7, 8, 9]

print(binary_search(li, 3))

要慶幸,找到了自己 Day73

跟朋友聊了大半晚上,看看時間,已經要睡覺的點了,坐下來寫這篇文章,只為了感念下曾經的自己,如今的自己,未來的自己。就那麼迷茫了那麼多年,也堅守了那麼多年,如果有方法可以做到,那為何不去努力呢,如果沒有人幫,那就自己去克服它,那個守望的孩子就這樣看到了希望,就再也不想就這樣黑暗下去,要努力,總能做到。...

Java學習 day7 (3)匿名內部類

主要是進行複習 匿名物件是啥?就是不在棧記憶體裡面不分配記憶體,直接在堆記憶體中分配記憶體 匿名內部類有點奇怪了啊,匿名 內部 類 ok,關注類的設計過程就行了 package com.example.chapter05 author administrator date 2017年4月1日 下午1...

python基礎7 3 反射

反射相關的四個函式hasattr getattr setattr delattr,下面分別來演示每乙個函式的用法。author mr.xue 2019.10.30 class dog object def init self,name self.name name defeat self print...