一、什么是遞歸
? ? 遞歸就是函數(shù)調(diào)用本身,和高中數(shù)學(xué)的數(shù)學(xué)歸納法類似。當(dāng)在求一個(gè)數(shù)組的第n項(xiàng)的時(shí)候,有兩種方式,第一種就是根據(jù)各種公式,求通項(xiàng)公式,第二種,就是數(shù)學(xué)歸納法,發(fā)現(xiàn)數(shù)據(jù)項(xiàng)前后兩項(xiàng)的規(guī)律??梢赃@么說,遞歸只要知道開始的特殊情況,知道過程是如何展開的。(遞推:相反使用一個(gè)循環(huán)來實(shí)現(xiàn),但有的時(shí)候遞推有一定難度,不過可以使用棧來實(shí)現(xiàn)消除遞歸,這么說,一些編譯器都是用棧來實(shí)現(xiàn)遞歸的)
二、歸并排序如何實(shí)現(xiàn)
????歸并排序的原理是,合并兩個(gè)有序的數(shù)組。兩個(gè)有序數(shù)的合并相對較為簡單, 通常遍歷一遍就可以合并。因此只要保證兩個(gè)數(shù)組是有序,然后進(jìn)行一次合并,就得到一個(gè)有序數(shù)組。那么,上述的過程已經(jīng)發(fā)現(xiàn)了,假設(shè)要對一個(gè)數(shù)組進(jìn)行排序,那么可以將其一分為二,得到兩個(gè)數(shù)組,那么如何保證這兩個(gè)數(shù)組有序的。這里已經(jīng)很明顯的,問題又回到開頭,也就是遞歸(調(diào)用函數(shù)本身)。遞歸不能只是關(guān)注過程,也要關(guān)注(邊界問題),不然可能會陷入死循環(huán),甚至坐標(biāo)越界?,F(xiàn)在的(邊界)就是,何時(shí),數(shù)組不可再分?很顯然,就是也就是數(shù)組小于二。換而言之,就是數(shù)組大于一是調(diào)用函數(shù)本身。

? ??????
