為什麼要學習演算法?
原因一:演算法是程式設計的內功修煉
原因二:去國內一流網際網路的必要條件
原因三:演算法與資料結構是有趣和實用的
如何有效的學習演算法與資料結構
//《異類–不一樣的成功啟示錄》
1.切碎知識點,注重脈絡和聯絡,注意知識結構
2.刻意練習,練習不熟悉,有缺陷的地方,會感覺不舒服和枯燥的地方
3.反饋,及時反饋:自己去找比自己更好的演算法,比自己厲害的人,不斷學習,不斷反饋。
被動式反饋:有高手來給你指點
演算法和資料結構的知識點。
訓練的步驟:
切題四件套:明確題目的意思
尋找各種解法,並找出最優解
多寫加上測試案例進行反饋
邊學邊練,適度刷題
多問,多思考,多互動
打怪公升級法:學習的過程中,我麼碰到的最大的問題就是堅持不下來。所以在學習的過程中,也可以給自己設定
乙個切實可行的目標,就像打怪公升級一樣
知識需要沉澱,不要試圖一下子就掌握所有:學習的過程就是反覆迭代,不斷沉澱的過程,書讀百遍,其義自見。
演算法入門訓練例子
1017 a除以b 20 分 本題要求計算 a b,其中 a 是不超過 1000 位的正整數,b 是 1 位正整數。你需要輸出商數 q 和餘數 r,使得 a b q r成立。輸入在一行中依次給出 a 和 b,中間以 1 空格分隔。在一行中依次輸出 q 和 r,中間以 1 空格分隔。123456789...
演算法競賽入門經典 訓練指南 筆記
p1 貪心 自己想的糟糕的演算法 include 從大到小排序龍頭和騎士,每個龍頭由 恰好 能砍掉的騎士來砍 include 貌似沒問題,但是又難寫又慢 include 就當複習stl了 includeusing namespace std int n 1,m 1 int a 30000 vecto...
演算法競賽入門經典 訓練指南 筆記
p1 貪心 自己想的糟糕的演算法 include 從大到小排序龍頭和騎士,每個龍頭由 恰好 能砍掉的騎士來砍 include 貌似沒問題,但是又難寫又慢 include 就當複習stl了 includeusing namespace std int n 1,m 1 int a 30000 vecto...