徽标
联盟百科
通讯
下载应用,请到 Google Play
新! 在您的Android™设备上下载联盟百科!
自由
比浏览器更快的访问!
 

無窮迴圈和递归 (计算机科学)

快捷方式: 差异相似杰卡德相似系数参考

無窮迴圈和递归 (计算机科学)之间的区别

無窮迴圈 vs. 递归 (计算机科学)

無窮迴圈(infinite loop)或稱為无限循环,是指程式的控制流程一直在重複執行某一段程式碼,無法結束的情形,其原因可能是因為程式中的迴圈沒有設結束迴圈條件,或是結束迴圈的條件不可能成立等。在合作式多工(cooperative multitasking)的作業系統中,無窮迴圈會使系統沒有反應,若是先占式(preemptive)多工的系統中,無窮迴圈會用掉所有可用的處理器時間,不過可以由使用戶結束程序。無窮迴圈是造成系統假死機的原因之一,其他的可能原因包括死鎖或是記憶體區段錯誤。 忙碌等待迴圈是在外界特定條件時(例如有按鍵輸入)才會離開的迴圈,有時忙碌等待迴圈也被稱為是無窮迴圈,但此情形和上述的不太一様。忙碌等待迴圈可以藉由外界事件而結束迴圈,但上述的無窮迴圈是無法結束的。. 遞迴(recursion)在電腦科學中是指一種通過重複將問題分解為同類的子問題而解決問題的方法。 遞迴式方法可以被用於解決很多的電腦科學問題,因此它是電腦科學中十分重要的一個概念。 絕大多數程式語言支援函式的自呼叫,在這些語言中函式可以通過呼叫自身來進行遞迴。計算理論可以證明遞迴的作用可以完全取代迴圈,因此在很多函數程式語言(如Scheme)中習慣用遞迴來實現迴圈。 電腦科學家尼克勞斯·維爾特如此描述遞迴:.

之间無窮迴圈和递归 (计算机科学)相似

無窮迴圈和递归 (计算机科学)有(在联盟百科)5共同点: 尾端遞迴程式迴圈階乘链表Scheme

尾端遞迴

#重定向 尾调用.

尾端遞迴和無窮迴圈 · 尾端遞迴和递归 (计算机科学) · 查看更多 »

程式迴圈

迴圈是計算機科學運算領域的用語,也是一種常見的控制流程。迴圈是一段在程式中只出現一次,但可能會連續執行多次的程式碼。迴圈中的程式碼會執行特定的次數,或者是執行到特定條件成立時結束迴圈,或者是針對某一集合中的所有項目都執行一次。 在一些函數程式語言(例如Haskell和Scheme)中會使用递归或不动点组合子來達到迴圈的效果,其中尾部递归是一種特別的递归,很容易轉換為迭代。.

無窮迴圈和程式迴圈 · 程式迴圈和递归 (计算机科学) · 查看更多 »

階乘

一个正整数的階乘(factorial)是所有小於及等於該數的正整數的積,并且有0的阶乘为1。自然數n的階乘寫作n!。1808年,基斯頓·卡曼引進這個表示法。 亦即n!.

無窮迴圈和階乘 · 递归 (计算机科学)和階乘 · 查看更多 »

链表

链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针(Pointer)。由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表顺序表快得多,但是查找一个节点或者访问特定编号的节点则需要O(n)的时间,而顺序表相应的时间复杂度分别是O(logn)和O(1)。 使用链表结构可以克服数组链表需要预先知道数据大小的缺点,链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。但是链表失去了数组随机读取的优点,同时链表由于增加了结点的指针域,空间开销比较大。 在计算机科学中,链表作为一种基础的数据结构可以用来生成其它类型的数据结构。链表通常由一连串节点组成,每个节点包含任意的实例数据(data fields)和一或两个用来指向上一个/或下一个节点的位置的链接("links")。链表最明显的好处就是,常规数组排列关联项目的方式可能不同于这些数据项目在记忆体或磁盘上顺序,数据的存取往往要在不同的排列顺序中转换。而链表是一种自我指示数据类型,因为它包含指向另一个相同类型的数据的指针(链接)。链表允许插入和移除表上任意位置上的节点,但是不允许随机存取。链表有很多种不同的类型:单向链表,双向链表以及循环链表。 链表可以在多种编程语言中实现。像Lisp和Scheme这样的语言的内建数据类型中就包含了链表的存取和操作。程序语言或面向对象语言,如C/C++和Java依靠易变工具来生成链表。.

無窮迴圈和链表 · 递归 (计算机科学)和链表 · 查看更多 »

Scheme

Scheme是一种函数式编程语言,是Lisp的两种主要方言之一(另一种为Common Lisp)。不同于Common Lisp,Scheme遵循極簡主義哲学,以一个小型语言核心作为标准,加上各种强力语言工具(语法糖)来扩展语言本身。 麻省理工學院與其他院校曾采用Scheme教授计算机科学入門課程。著名的入門教材《-zh-hans:计算机程序的构造和解释;zh-hant:電腦程式的構造和解釋-》(SICP)利用Scheme來解釋程序設計 。Scheme的廣泛受眾被視為一個主要優勢,然而不同實現之間的差異成為了它的一個劣勢。 Scheme最早由麻省理工學院的蓋伊·史提爾二世與傑拉德·傑伊·薩斯曼在1970年代發展出來,並由兩人發表的「λ論文集」推廣開來。 Scheme語言與λ演算關係十分密切。小寫字母「λ」是Scheme語言的標誌。 Scheme的哲学是:设计计算机语言不应该进行功能的堆砌,而应该尽可能减少弱点和限制,使剩下的功能显得必要。Scheme是第一個使用靜態作用域的Lisp方言,也是第一个引入“干净宏”和第一类续延的编程语言。.

Scheme和無窮迴圈 · Scheme和递归 (计算机科学) · 查看更多 »

上面的列表回答下列问题

無窮迴圈和递归 (计算机科学)之间的比较

無窮迴圈有37个关系,而递归 (计算机科学)有20个。由于它们的共同之处5,杰卡德指数为8.77% = 5 / (37 + 20)。

参考

本文介绍無窮迴圈和递归 (计算机科学)之间的关系。要访问该信息提取每篇文章,请访问:

嘿!我们在Facebook上吧! »