2020-4-29陣列篇
我盡量用 最少的文字,最少的**。來講明白資料結構與演算法。
定址演算法
a[i] = 陣列開始的位置 + i * 固定大小
動作
複雜度array 增
o(n)
array 刪
o(n)
array 改
o(1)
array 查:根據下標
o(1)
array 查:迴圈查
o(logn)
如果不需要排序,那麼不用每次都對插入位置後的元素做位移。可以嘗試替換法
![](https://pic.w3help.cc/ca7/a4dce91b6d310f14a2d09fa1bb7a7.jpeg)
不用每次刪除都 給元素移位,可以先標記被刪除的元素。等刪除的元素積累一段之後一併刪除。
![](https://pic.w3help.cc/269/a882fef34428b778a477a0f180e10.jpeg)
如有不足,歡迎補充。
本文由部落格**一文多發等運營工具平台 openwrite 發布
極簡教程 資料結構與演算法(一)
2020 4 28 時間複雜度與空間複雜度 我盡量用 最少的文字,最少的 來講明白資料結構與演算法。const findcat n console.log 有 只貓 findcat 1 石興龍 有 1 只貓 findcat 10 石興龍 有 10 只貓 findcat n 石興龍 有 n 只貓 先來...
極客幫資料結構與演算法總結
1 工具 1 時間和空間複雜度 2 常見時間複雜度表示 由低到高 4 思考題 二叉樹遍歷 前序 中序 後序 時間複雜度是?o n 圖的遍歷 時間複雜度?o n 搜尋演算法 深度優先 dfs 廣度優先 bfs 時間複雜度?o n 二分查詢 時間複雜度?log n 排好序的二維矩陣中查詢 o n 歸併排...
資料結構與演算法教程彙總
一 演算法 1.二分法 2.遞推演算法 分為順推法 又叫 斐波那契數列 和倒推法 兩種 演算法思想 3.列舉 窮舉 演算法 4.遞迴演算法 5.分治演算法 演算法思想 把大問題分解成n個小問題 6.貪婪演算法 7.試探法演算法 8.模擬演算法 二 資料結構 1.線性結構 資料元素之間是一對一的關係 ...