回覆列表
  • 1 # 小賢的小哥

    遞迴和非遞迴只是解決問題的方法的不同,本質還是一樣的。

    2. 遞迴演算法相對於非遞迴演算法來說效率通常都會更低 2.1 遞迴演算法會有更多的資源需要壓棧和出棧操作(不僅僅是引數,還有函式地址等)

    2.2 由於編譯器對附加的一些棧保護機制會導致遞迴執行的更加低效 3. 使用迴圈代替遞迴演算法,通常可以獲得更好的執行效率和空間效率,在二叉樹層次較深的情況下,採用非遞迴方式遍歷能夠有效的提升遍歷的效能。

  • 2 # 散居獵人

    遞迴遍歷二叉樹程式簡短,也好懂。要論效能,還是遞推速度快,佔記憶體少。但遞推程式包括深度優先和廣度優先遍歷法,程式複雜,自己管理壓棧彈棧,容易出錯。

    現在CPU很快,堆疊空間也很大,這點兒效能差異可以忽略了。

    還是遞迴遍歷二叉樹程式可讀性更好。

  • 3 # 枝枝葉葉

    什麼應用場合需要層次資訊? 可以在每個節點中 加入層次資訊,先遞迴遍歷,更新層次資訊。然後再 將 層次資訊排序,就相當於 按層次遍歷.節點中不儲存層次資訊,要層次遍歷,不方便,可以參考穿線二叉樹

  • 中秋節和大豐收的關聯?
  • 800kva變壓器安裝規範?