有沒有什麼方法,能在2個月內,顯著提升演算法能力?

現在手上有演算法導論,這幾天真正開始接觸演算法,覺得真的心好累,無法很快想到一個問題的最優解。

比如昨天遇到一個題,列印1000以內的水仙花數,但是自己自作聰明,本想搞個大事情,

打算寫一個,能算出十全十美數以及以前所有的數的程序。

結果把個個部分寫完了在拼起來的時候出現了一個bug,調試很久無果,就放棄了。

從開始寫第一個代碼到放棄用了,快3個小時。

這2天就僅僅是寫題,打算今天開始把演算法好好看看,因為還有2個月就比賽了,心有點慌,目前大一比賽項目是c。

ps 最後十分無奈的只寫了僅僅的水仙花數的輸出方法。。。。

看了大家給我的建議我很高興,看來知乎還是一個幫助人的好地方,大家的槽點主要在我三個小時放棄 不知道你們有沒有看到我的手機截圖,真的是半夜三點多了啊,第二天還要上課,所以沒辦法了,我今天又弄了一會,還是不行今晚在開車吧~~

其實單純的水仙花我最後弄出來了,我只是在想寫一個通用程序的時候跪了。


沒有。好好看你那本書,好好做題。兩個月只能全部讀一遍,至於要如何學會應用,還需要更長的時間。


把演算法導論先放一放,兩個月之後再去學。 這兩個月可以嘗試下面方法:

1. 看視頻。學堂在線的清華大學課程《數據結構與演算法》不錯。每天拿出五個小時來學習。

2. 刷題。 leetcode快速刷一遍。什麼叫快速刷?就是找網路上leetcode刷題經驗參考,gitbook也有人寫leetcode刷題總結。每天拿出兩個小時學習。自己跟著練。

3. 微充電。就是利用零散的時間,針對每天主要學習的內容不理解或理解模糊的地方,尋找一些博客啊,視頻、書之類的去加深理解。

要真心想提升自己,就不要說沒時間。不要為了比賽去學,而是為了真正提升去學,比賽不是目的。

演算法這門學科,並不是不需要基礎的。要真想學好,還是系統的給自己定一個年度學習計劃。比如兩個月之後,回頭再系統複習下數學基礎,鞏固了數學思維,再去看演算法導論呢?

謝邀。


等,等一下,

結果把個個部分寫完了在拼起來的時候出現了一個bug,調試很久無果,就放棄了。

從開始寫第一個代碼到放棄用了,快3個小時。

才3個小時就放棄?怪不得想速成。如果是這樣的話,你還是改行吧。


學習編程就是一個不斷證明自己有多蠢的過程。當有一天你寫程序小心翼翼,瞻前顧後,反覆懷疑自己的時候,差不多就入門了。


沒有捷徑,只能靠積累。

另外我覺得演算法導論還是太深厚了。如果你只是為了2個月後參加比賽,可以看這本《挑戰程序設計競賽2:演算法和數據結構》。


沒!有!


凌晨3點算什麼,連續30個小時debug都干過。


有,背概念,背名詞,背題,可以顯注提高你看上去的演算法能力


沒有興趣?轉專業

想速成?轉專業

心累?轉專業

奔著工資高才報的計科?轉專業

想放棄?轉專業

踏踏實實培養興趣,勤奮一些,你幾個月肯定趕不上高中參加oi的那群人,急於「速成」只是承認自己的無能罷了


有啊。。。。

小說主人公撿到一個超級電腦/外星黑科技/被雷劈/被學神附身/被穿越/獲得超能力/大腦覺醒/被外星人改造 這些別說兩個月,幾天就可以讓你精通演算法導論,出任CEO,贏取白富美,走向人生巔峰


你現在面臨兩個問題。

1.你想學演算法;

2.你的語言功底不足。

如果你不想同時兼顧兩者,建議先選一個比較容易上手的語言,比如python,matlab。

如果你本來就在用python或matlab,那就算了。


演算法這東西跟肌肉力量很像。招式技巧什麼的可以取巧速成。肌肉力量,只能一點點練,還要有天賦。天賦好的人練得快,天賦不好的人練得慢。頂級的都是天賦好還努力的人。


兩個月時間足夠了,一天花8-10小時去寫這些東西。跟你背單詞一個道理(重複,重複,無限的重複演算法,無限的去寫)。兩個月可以的。

然後還有~~

你若是為了考試,那麼把往年的例子多敲幾遍~~無限去寫,最笨的方法也是最好的方法。


看演算法導論即可

演算法能力提高是一個不斷訓練的過程


提高演算法能力果斷去擼codeforces啊


有啊,做個夢就行了。兩個月最多62*24小時全用來學習演算法,都別想快速提高。

有些事情就是沒有捷徑走的,沒這個心理準備趁早放棄吧。


分頁阅读: 1 2