算法

迭代
遞歸

鏈表是一種兼具遞歸和迭代性質(zhì)的數(shù)據(jù)結(jié)構(gòu)

樹結(jié)構(gòu)不過是鏈表的衍生

遞歸性質(zhì):問題可以劃分為子問題,并且子問題與原問題的結(jié)構(gòu)相同
遞歸函數(shù)都有個 base case

對于遞歸算法,最重要的就是明確遞歸函數(shù)的定義
不要跳進遞歸,而是利用明確的定義來實現(xiàn)算法邏輯
寫遞歸算法的關鍵是要明確函數(shù)的「定義」是什么,然后相信這個定義,利用這個定義推導最終結(jié)果,絕不要跳入遞歸的細節(jié)

二叉樹題目的一個難點就是,如何把題目的要求細化成每個節(jié)點需要做的事情

寫二叉樹的算法題,都是基于遞歸框架的,我們先要搞清楚 root 節(jié)點它自己要做什么,然后根據(jù)題目要求選擇使用前序,中序,后續(xù)的遞歸框架。

二叉樹題目的難點在于如何通過題目的要求思考出每一個節(jié)點需要做什么,這個只能通過多刷題進行練習了。

數(shù)據(jù)結(jié)構(gòu)的存儲方式只有兩種:數(shù)組(順序存儲)和鏈表(鏈式存儲)

對于任何數(shù)據(jù)結(jié)構(gòu),其基本操作無非遍歷 + 訪問,再具體一點就是:增刪查改。

你就會發(fā)現(xiàn)只要涉及遞歸的問題,都是樹的問題(一種遍歷方式可以和它對應的數(shù)據(jù)結(jié)構(gòu)對應)

數(shù)據(jù)結(jié)構(gòu)的基本存儲方式就是鏈式和順序兩種,基本操作就是增刪查改,遍歷方式無非迭代和遞歸

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容