5 9課 像「貪吃蛇」一樣「吃掉」自己 遞迴

2021-10-09 16:27:52 字數 661 閱讀 9198

除了迭代式的快速排序,還有遞迴式的快速排序,在實現它之前,我們先來學習乙個概念:遞迴。

這個概念非常重要,因此,關於它我們得多說兩句。

存在於多個領域

遞迴這一術語,應用面非常廣泛,在語言學、邏輯學、數學和電腦科學中都有出現。

雖然在不同領域的具體定義不同,不過從直觀上看,無論在哪個領域,遞迴就像一條貪吃蛇:所做得事情,是「自己吃自己」

歷史悠久

對一種自己吃自己的條狀動物的描述,早在古埃及時期就有了,古埃及壁畫中的含尾蛇(ouroboros)就是這樣一種形象。

含尾蛇由希臘學者引入歐洲,成為中世紀煉金術的符號。下圖就是一副 15 世紀的煉金術小冊子中的插圖。

雖然煉金術含尾蛇的具體形象和上面那種可愛的胖胖相去甚遠,但它們表達的含義都是一樣的。

自食其尾的蛇揭示了遞迴的根本:遞迴是乙個過程,在這個過程中有乙個步驟援引了整個過程本身

老和尚講故事

第24課 貪吃蛇遊戲

本節課將利用全域性快捷鍵實現一款貪吃蛇的遊戲,下面先看下遊戲主介面的截圖。mac os x 的效果如圖所示。windows 的效果如圖所示。全域性快捷鍵需要通過 globalshortcut 物件註冊,使用下面的 可以得到 globalshortcut 物件。const require electr...

貪吃蛇遊戲

貪吃蛇遊戲 結構化程式設計 c語言程式設計 重要的的是結構化的程式設計思想 include include include include include include define field width 300 就做20個格仔的 define field height 300 define f...

貪吃蛇(改進)

該程式分成3個檔案 第乙個檔案 fang.cs using system using system.collections.generic using system.text using system.windows.forms using system.drawing namespace snak...