归并算法和二分查找是加深对递归思想理解的很好的算法,两者可以结合着看,二分查找是进入函数都先做逻辑处理,然后再进行下一轮递归,递归到条件满足后逐层推出函数。
归并排序是进入函数后先递归进入下一层函数,直到递归到条件满足后逐层推出函数,推出函数前进行逻辑处理。
def erfen(tmp, t, l, r): if(l < r): m = (l+r)/2 if(tmp[m] >= t): return erfen(tmp, t, l, m) else: return erfen(tmp, t, m+1, r) elif(l == r): if(tmp[l] == t): return l else: return -1 else: return -1