What---Python演算法

冉冉升起的明星發表於2020-10-02

1.大O表示法,時間複雜度
sample1

時間複雜度
2.一般法則
在這裡插入圖片描述

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
list.append()
list.insert()
lst.sort()

3.二分法查詢
折半查詢,猜數,50 ,大了;那麼久排除了50-100的數字;猜25.。。等等
在這裡插入圖片描述
前提條件是:有序陣列;資料型別是有範圍的;注意start=mid+1 ,end=mid -a 防止死迴圈;資料量不可過大

4.陣列&連結串列
陣列要求都是連續存放的,陣列就是像追劇想看哪集看哪集;連結串列就是像電視臺只能等著一集一集的播放
在這裡插入圖片描述
在這裡插入圖片描述
插入刪除很少,查詢多,又不會Out of memory ,採用陣列
如果頻繁插入,遍歷,檢索少,就用連結串列

5.順序表

在這裡插入圖片描述
陣列的元素的位置成為索引,索引是從0 開始,地址連續,型別相同
陣列支援直接訪問

6.連結串列
單向連結串列

雙向連結串列

迴圈連結串列

7.棧和佇列
棧:先進 後出(LIFO)
stack
S.push(e)
S.pop
S.top()
S.is_empty()
len(S)

佇列:先進先出(FIFO)
Q.enqueue(e)
Q.dequeue()
Q.first()
Q.is_empty()
len(Q)
迴圈佇列,雙連結串列
在這裡插入圖片描述
D.add_first(e)
D.add_last(e)
D.delete_first()
D.delete_last()
D.first()
D.last()
D.is_empty()
le(D)

8.初級排序演算法
選擇
冒泡(比較相鄰的元素)
插入
希爾:把待排序換分成為若干組,在每一組內進行插入排序(步長)

9.歸併排序
在這裡插入圖片描述
10.快速排序
在這裡插入圖片描述

相關文章