今天看**《fern》,裡面講到關於dns實現名字解析的原理,在dns構成的樹結構中,利用迭代實現名字解析;而一些未來網路的名字解析系統使用的基於樹結構的遞迴解析,主要是找到最高的共同祖先。故想要了解一下迭代和遞迴呼叫的區別。
聯想到遞迴呼叫的圖
遞迴需要滿足兩個條件:
#1 自身呼叫
#2 遞迴結束條件: 乙個是一層一層呼叫到最後達到預設條件後會再一層一層返回到頂端得到最終結果,遞迴呼叫需要乙個很明確的遞迴結束的條件
迭代:重複呼叫同乙個函式,滿足迴圈終止條件即可
迭代和遞迴的主要區別
遞迴和迭代區別
遞迴和迭代 遞迴的實現是通過呼叫函式本身,函式呼叫的時候,每次呼叫時要做位址儲存,引數傳遞等,這是通過乙個遞迴工作棧實現的。具體是每次呼叫函式本身時需要儲存的內容有區域性變數 形參 函式位址等,那麼,如果遞迴呼叫n次,則遞迴棧裡需要儲存n 區域性變數,n 形參,n 函式位址個記憶體空間,很可能導致空...
遞迴和迭代的區別
遞迴的基本概念 程式呼叫自身的程式設計技巧稱為遞迴,是函式自己呼叫自己.乙個函式在其定義中直接或間接呼叫自身的一種方法,它通常把乙個大型的複雜的問題轉化為乙個與原問題相似的規模較小的問題來解決,可以極大的減少 量.遞迴的能力在於用有限的語句來定義物件的無限集合.使用遞迴要注意的有兩點 1 遞迴就是在...
遞迴和迭代的區別
遞迴的基本概念 程式呼叫自身的程式設計技巧稱為遞迴,是函式自己呼叫自己.乙個函式在其定義中直接或間接呼叫自身的一種方法,它通常把乙個大型的複雜的問題轉化為乙個與原問題相似的規模較小的問題來解決,可以極大的減少 量.遞迴的能力在於用有限的語句來定義物件的無限集合.使用遞迴要注意的有兩點 1 遞迴就是在...