我剛剛大一我以後想搞演算法,學完c以後,自學數據結構,學到棧我看書上給出了一個迷宮求解的演算法,就是用壓棧出棧來求解,演算法的大致思路能明白可昨天想了一晚上就是寫不出來,今天我又跑去看快速排序的時間複雜度,感覺又是懵懵懂懂的,什麼主定理的證明把我看的一臉懵!這條路應該咋個走啊,演算法應該怎麼學啊,我感覺我就像一隻無頭蒼蠅!


你把leetcode大約200道題都做一遍,做不出就抄一遍,還看不懂就加printf把狀態都列印一遍

begeekmyfriend/leetcode?

github.com圖標


和看的書有關係吧,看到迷宮我的第一反應是bfs或者dfs(注意這是演算法),後來想想用棧就是一個模擬dfs的遞歸過程,感覺你的書沒有給出dfs遞歸轉而直接用棧反而不容易讓你理解這麼做的原因,個人感覺有點像嚴老的數據結構的風格。剛學習數據結構會讓人無所適從,不知道該用什麼該看什麼,個人建議是先把基本的數據結構掌握,比如說單鏈表的查增刪,又或者是樹的先中後序遍歷等等,至於那些明顯是演算法應用的題目比如此處的迷宮問題則可以放到後面學習某個特定演算法的時候再學習。慢慢掌握這個學習規律,就可以找到屬於自己的舒適區了。

有可能不太適合學演算法 再努力一下? 不行的話玩點兒其他的也不錯


找本書,好好學,力求每道題都做了。另外,如果做一遍不懂,就做兩遍。趁著現在有時間


打好離散數學基礎,多學學圖論、組合、數論什麼的,可以提前開始學計算理論。平時注意練習數學證明。


高數好好學,不是學校的那種,機器學習那面的書也要看,深度學習等等,大一還需要學的很多,不用挑,基本的都要學,好好努力。


推薦閱讀:
相關文章