感受演算法與程式之美

2021-10-22 17:51:40 字數 900 閱讀 9979

寫在最開始,之所以整理這個專欄的目的,一方面是為了接下來的實習、秋招、春招做準備,另一方面也為了能夠幫自己梳理演算法的思路。因為斷斷續續的也刷了不少的題目,但是卻都是硬解,沒有乙個明確地解題技巧,遇到困難題直接cv,這明顯不行。

這篇部落格呢就作為乙個總章,來整理各型別題目吧~與君共勉,希望看到部落格的人都能拿到sp。

貪心演算法說白了就是每次尋找區域性最優解的過程,已達到最終結果是全域性最優的目的。

貪心演算法一般按如下步驟進行:

①建立數學模型來描述問題

②把求解的問題分成若干個子問題

③對每個子問題求解,得到子問題的區域性最優解

④把子問題的解區域性最優解合成原來解問題的乙個解

適用於分配問題、區間問題

雙指標主要用於遍歷陣列,兩個指標指向不同的元素,協同完成任務,也可以是更多的指標。

若兩個指標指向的是同乙個陣列,遍歷方向相同且不相交,則屬於滑動視窗,用於區間搜尋。

若兩個指標指向同一陣列,但是遍歷的方向相反,則可以用來進行搜尋,且搜尋陣列是排好序的。

26. remove duplicates from sorted array_刪除有限陣列中的重複項

27. remove element 刪除元素

這一部分先來回顧一下常見的排序演算法,再結合力扣看一下考察技巧。

這一類問題是面試考核的重點,也是難點。

動態規劃主要用於查詢有很多重疊子問題的情況時的最優解有效,是一種自底向上的方法。

一般來說,可以使用記憶化回溯的問題,都可以用動態規劃來優化。

動態規劃的主要使用方式:

136.只出現一次的數字

1720. 解碼異或後的陣列

用matlab感受數學之美

相比於之前的課程,這個學期,應用數學開了繁多的課程,運籌 陣列 matlab這幾門的實驗課更是增添了很多課程設計 課程 要寫。再配上實變 復變 常微分,覺得這個學期簡直完美 括弧微笑臉 近期,在寫matlab小課程設計,打算從分形入手。想到n多年前,在微博上截過一張圖,沒想到如今派上了用場。於是,今...

演算法之美 遞迴與迭代

演算法之美 遞迴與迭代 其實遞迴最大的有點就是把乙個複雜的演算法分解成若干相同的可重複的步驟。所以,使用遞迴實現乙個計算邏輯往往只需要很短的 就能解決,並且這樣的 也比較容易理解。但是,遞迴就意味著大量的函式呼叫。函式呼叫的區域性狀態之所以用棧來記錄的。所以,這樣就可能浪費大量的空間,如果遞迴太深的...

資料結構與演算法之美

什麼是資料結構?什麼是演算法 狹義重點 複雜度分析 方法 邊學邊練,適度刷題 複雜度分析 時間複雜度 常見時間複雜度 非多項式量級 非常低效的演算法 空間複雜度 漸進空間複雜度,表示演算法的儲存空間和資料規模的增長關係 最好情況時間複雜度 理想情況的時間複雜度 最壞情況時間複雜度 最糟糕的情況下的時...