畫圖。寫代碼。我感覺,做多了之後腦容量就會上升,原先想不通的問題現在就能想通了。


逗我呢?你要說紅黑樹不好理解我還信,鏈表都寫不出來?重學一遍彙編和C,尤其是指針,結構體,內存靜態/動態分配。搞清楚變數的內存空間到底是哪裡來的,又怎麼完成定址定址操作。然後弄張紙畫一畫圖,畫內存里每個位元組什麼樣,位元組的地址和內容。再不濟硬著頭皮把書上代碼抄一遍,單步執行。最好單步對應彙編。


熟練度的問題,說明你根本沒有把語言運用熟練各種機器語言說白了就是遵守不同 語法規則 的不同語言掌握一種語言其實就是學會在這種語法條件下怎麼跟機器說話數據結構 可以 理解為 組詞演算法 可以理解為 語法

如果你真的熟練掌握一種語言,不管你換什麼組詞,換什麼語法其實本質上是相同的

建議先熟練語言吧,基本功不紮實,只會組詞與語法你依然不會寫

最好的辦法是

看著老師或者別人的代碼,最好是完整寫出代碼的流程都看一遍

然後自己不看,將前面看的代碼再自己手寫一遍

數據結構要考多打代碼才行,光看是沒用的。很多說起來很繁瑣的東西,自己打一遍就知道其實很簡單


數據結構、編程語言這2個方面,你至少有一個沒學會。

注意,至少有一個沒學會也包括了2個都沒學會的情況。
聽懂了,能說出來嗎,說出來了能做出來嗎,做不出來你真的是聽懂了嗎?


問題分解

數據結構上課聽的懂?

是可以通過畫圖的方式,向別人表達出這個結構么,並且可以對該演算法進行分解講解。

像鏈表又寫不出來?

大多數語言不過是一些邏輯判斷的字元而已。如果可以對鏈表進行步驟分解,程序運行失敗應該就只有語法問題了。


要麼是理解得很膚淺,只是聽得懂,但沒理解透徹,沒吃透內容,怎麼寫得出來呢要麼就是懶。一步步來,講數據結構的書上都有示例圖吧,先設計數據結構,再把你理解的鏈表添加刪除之類的操作過程畫出來(流程圖),再把流程圖轉化為代碼,一個操作一個操作的來。

「寫不出來」 是個比較模糊的描述,類似於「我病了,該怎麼辦」

具體分析你寫到哪裡卡住了,然後反覆熟悉、練習那一塊的知識或語法即可。
推薦閱讀:
相关文章