What---Python演算法
1.大O表示法,時間複雜度
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.快速排序
相關文章
- 演算法-回溯演算法演算法
- 【演算法】KMP演算法演算法KMP
- 【JAVA演算法】圖論演算法 -- Dijkstra演算法Java演算法圖論
- 演算法(2)KMP演算法演算法KMP
- 【演算法】遞迴演算法演算法遞迴
- 演算法題:洗牌演算法演算法
- 介面限流演算法:漏桶演算法&令牌桶演算法演算法
- 演算法初探--遞迴演算法演算法遞迴
- 分類演算法-AdaBoot 演算法演算法boot
- 前端演算法:快速排序演算法前端演算法排序
- 常用演算法 插值演算法演算法
- BP演算法和LMBP演算法演算法
- c/c++ 通用的(泛型)演算法 之 只讀演算法,寫演算法,排序演算法C++泛型演算法排序
- 演算法金 | 突破最強演算法模型,決策樹演算法!!演算法模型
- 介面限流演算法:漏桶演算法&令牌桶演算法&redis限流演算法Redis
- 常用演算法之貪心演算法演算法
- 演算法(八):圖解KNN演算法演算法圖解KNN
- 複習常用演算法_冒泡演算法演算法
- 演算法修養--A*尋路演算法演算法
- 演算法那些事之冒泡演算法演算法
- 基礎演算法之排序演算法演算法排序
- 最短路演算法之:Dijkstra 演算法演算法
- 最短路演算法之:floyd 演算法演算法
- 【JAVA演算法】排序演算法 -- 快速排序Java演算法排序
- 演算法進階(8): EM演算法演算法
- 最短路-SPFA演算法&Floyd演算法演算法
- 【JAVA演算法】圖論演算法 --求最小生成樹Prim演算法Java演算法圖論
- 演算法演算法
- 演算法設計與分析中的幾個核心演算法策略:動態規劃、貪心演算法、回溯演算法和分治演算法演算法動態規劃
- 演算法(六):圖解貪婪演算法演算法圖解
- 演算法學習 - 基礎排序演算法演算法排序
- 分類演算法-k 鄰近演算法演算法
- 【演算法備忘錄】-(1)-LRU演算法演算法
- KMP演算法和bfprt演算法總結KMP演算法
- 非對稱加密演算法-RSA演算法加密演算法
- 推薦演算法(二)--演算法總結演算法
- 尋路演算法之A*演算法詳解演算法
- 字串匹配演算法(三)-KMP演算法字串匹配演算法KMP