目錄時間複雜度
時間複雜度:用來估計演算法執行時間的乙個式子(單位)
常見的時間複雜度(按效率排序)
o(1)如何一眼判斷時間複雜度?
1. 是否有迴圈減半的過程
while n > 1:
print(n)
n = n//2 # o(logn)
2. 幾次迴圈就是n的幾次方的複雜度
空間複雜度
空間複雜度:用來評估演算法記憶體占用大小的乙個式子
以空間換時間
列表查詢:從列表中查詢指定元素
輸入:列表、待查詢元素
輸出:元素下標或未查找到元素
順序查詢 # o(n)
從列表第乙個元素開始,順序進行搜尋,直到找到為止。
二分查詢 # o(log n)
從有序列表的候選區data[0:n]開始,通過對待查詢的值與候選區中間值的比較,可以使候選區減少一半。
一般遞迴會比不遞迴慢,但直接return接遞迴與不遞迴一樣
因為遞迴時需要先進後出,直接return偽遞迴,不需要出來,結果與while效率相同
裝飾函式直接裝飾遞迴函式時,每次遞迴都會呼叫裝飾函式,解決方法:另定義乙個函式去裝飾
每日演算法 day 26
那些你早出晚歸付出的刻苦努力,你不想訓練,當你覺的太累了但還是要咬牙堅持的時候,那就是在追逐夢想,不要在意終點有什麼,要享受路途的過程,或許你不能成就夢想,但一定會有更偉大的事情隨之而來。mamba out 2020.3.11 dp 做法 之前卡特蘭數感覺挺懵得 也沒學到 還是等之後學數論得時候專門...
Day 26 判斷子串行
給定字串 s 和 t 判斷 s 是否為 t 的子串行。你可以認為 s 和 t 中僅包含英文小寫字母。字串 t 可能會很長 長度 500,000 而 s 是個短字串 長度 100 字串的乙個子串行是原始字串刪除一些 也可以不刪除 字元而不改變剩餘字元相對位置形成的新字串。例如,ace 是 abcde ...
day26 網路程式設計
day26授課目錄 b 網路程式設計 tcp 面向連線 三次握手 資料安全,速度略低。分為客戶端和服務端。通訊的兩端都有socket。網路通訊其實就是socket間的通訊。資料在兩個socket間通過io流傳輸。socket在應用程式中建立,通過一種繫結機制與驅動程式建立關係,告訴自己所對應的ip和...