1)工具
1)時間和空間複雜度
2)常見時間複雜度表示(由低到高)
4)思考題
二叉樹遍歷 - 前序、中序、後序:時間複雜度是?o(n)
圖的遍歷:時間複雜度?o(n)
搜尋演算法:深度優先(dfs)、廣度優先(bfs)時間複雜度?o(n)
二分查詢:時間複雜度?log(n)
排好序的二維矩陣中查詢:o(n)
歸併排序:o(nlogn)
費波那奇數列演算法
5)疑問
例子1+2+3+……n,方法一:for迴圈y+=i,方法二用公式:y=n*(n+1)/2
上面兩種方法不一定第二種方法好,因為第二種用到了乘法和除法,計算機底層加減法比乘除法更快,或底層時間複雜度更低。
array的時間複雜度
工程運用:lru演算法或redis演算法
queue 佇列
deque 雙端佇列(double ended queue)
priority queue 優先順序佇列
作業未完待續……
python棧和佇列實現
資料結構與演算法總結
本教材共十一章 第一章為資料結構與演算法概述,為本書學習基礎和預備知識。資料的邏輯結構是對資料之間關係的描述,有時就把邏輯結構簡稱為資料結構。邏輯結構形式地定義為 k,r 或 d,s 其中,k是 資料元素的有限集,r是k 上的關係的有限集。邏輯結構有四種基本型別 集合結構 線性結構 樹狀結構和網路結...
資料結構與演算法總結
class solution return void bubblesort vector int arr if flag break void selectsort vector int arr if minpos i swap arr minpos arr i void insertsort ve...
極簡教程 資料結構與演算法(一)
2020 4 28 時間複雜度與空間複雜度 我盡量用 最少的文字,最少的 來講明白資料結構與演算法。const findcat n console.log 有 只貓 findcat 1 石興龍 有 1 只貓 findcat 10 石興龍 有 10 只貓 findcat n 石興龍 有 n 只貓 先來...