感覺自己的思維思路並不清楚,做題沒有成體系。在看了一篇文章之後,我知道,思考也是要有步驟的,有套路可循的。
先分析問題,抽出算法,再具體實現設計算法,最後檢驗算法是否正確以及算法的複雜性,能否改進算法。
學習博客:https://blog.csdn.net/rainchxy/article/details/77323848
關於算法的基礎知識。
時間複雜度:算法運行需要的時間,一般將算法的執行次數(函數T(n))作爲時間複雜度的度量標準。
時間複雜度漸進上界:O(n),(如兩個嵌套for循環爲一個О(n^2)),(如單層位置循環次數的複雜度爲О(log2n))
時間複雜度漸近下界:Ω(f (n))
空間複雜度:算法佔用的空間大小。一般將算法的輔助空間作爲衡量空間複雜度的標準。
常見算法複雜度分類:①:常數階,O(1),②:多項式階,O(n),O(n^2),O(n^3), ③:指數階,O(2^n),O(n!),O(n^n), ④:對數階O(log n), O(n*log n)