基本介紹
- 中文名:共遞歸
- 外文名:Corecursion
- 分類:數理科學
定義,惰性求值,遞歸,
定義
共遞歸在計算機科學重視一類操作,與遞歸在範疇論上對偶。因而遞歸是分析地工作,把數據分解為更小的數據直至達到基本情況。共遞歸是合成地工作,從基本情況構造出數據。共遞歸的數據是自己一點一點構造出來的。一個類似但不同的概念是生成式遞歸(generative recursion)。
共遞歸常與惰性求值配合,產生一個潛在無窮結構的有限子集。
惰性求值
在程式語言理論中,惰性求值(英語:Lazy Evaluation),又譯為惰性計算、懶惰求值,也稱為傳需求調用(call-by-need),是一個計算機編程中的一個概念,它的目的是要最小化計算機要做的工作。它有兩個相關而又有區別的含意,可以表示為“延遲求值”和“最小化求值”。除可以得到性能的提升外,惰性計算的最重要的好處是它可以構造一個無限的數據類型。
惰性求值的相反是及早求值,這是一個大多數程式語言所擁有的普通計算方式。
遞歸
遞歸(英語:Recursion),又譯為遞迴,在數學與計算機科學中,是指在函式的定義中使用函式自身的方法。遞歸一詞還較常用於描述以自相似方法重複事物的過程。例如,當兩面鏡子相互之間近似平行時,鏡中嵌套的圖像是以無限遞歸的形式出現的。也可以理解為自我複製的過程。