近些時日面試知名公司得到的痛心教訓,不懂數據結構和算法的碼農注定只是碼農,不能稱得上稱職的工程師!最近開始涉獵算法和數據結構的相關知識,趁此機會寫下自己的心得。
一、排序
1.選擇排序:
2.交換排序:
3.插入排序以及改良版:
二、查找
1.二分查找:遞歸
2.二分查找:非遞歸(循環)
三、節點遍歷
四、數組去重
和算法緊密相關的兩個概念:
時間復雜度:找出算法中的基本語句,計算基本語句的執行次數的數量級,用大寫O記號表示算法的時間性能。
空間復雜度:存儲算法本身所占用的存儲空間+算法的輸入輸出數據所占用的存儲空間+算法的運行過程中臨時占用的存儲空間。