回覆列表
  • 1 # 常識客棧店小二

    一晚上想不明白很正常,時間不算多。棧這個資料結構,指標,struct,你也許用的不熟,或者,你也許不知道棧裡面應該存什麼。如果是前者,你得補基礎;如果是後者,你需要理解“函式呼叫棧”這個東東。你得清楚,當你用遞迴時,系統自動幫你儲存了哪些值或狀態,當你自己用棧來代替遞迴時,哪些值或狀態是必須要記錄的。想明白這個,就ok了。慢慢來,看的多了,寫的多了,自然就會了。

    可能只是學的太快了。我寫了四年的程式碼,rpg和指令碼語言都做出來了,之後才接觸的二叉樹,感覺毫無壓力。題主彆著急,放慢點,先練習程式設計,找準了語感,就不困難了。這本質上不是資料結構學的不好,是你寫程式碼的能力太弱。等你程式碼寫多了,你就會慢慢發現不同的結構之間的相似性。譬如說具體到這個問題,總有一天你甚至可以(知道如何去)寫一個程式,把遞迴的程式碼改成非遞迴,然後就一勞永逸地解決了無數類似的問題。

    書讀百遍,其義自見。寫程式碼一樣的道理,你就是積累不夠急於求成了,別急,慢慢來。你對於理論你不能光想,動手畫畫會更有幫助,弄個畫板或者幾張紙,多畫畫多想想就能理解。有個好老師也非常非常重要。 對於程式碼實現,碼農是很注重實踐的,這個也需要一個過程,需要多寫多想。總之就是彆著急,當積累夠了回頭一看就會覺得這有什麼難的,一晚上搞透的不是一般人。二叉樹這個我畢業後寫了很多程式碼基本沒用到過,學的時候也沒理解透,拖後腿了。

  • 2 # 散居獵人

    繼續,一旦明白你就過了一道坎兒。

    二叉樹非遞迴遍歷核心是壓線和彈棧。

    先確定是深度優先還是廣度優先策略。

    訪問就是壓棧,左右都空就是彈棧。一直到棧空。

  • 中秋節和大豐收的關聯?
  • 小三上位後不怕男人再為別的女人背叛自己嗎?