Python递归算法
递归(Recursion)允许函数调用自身,固定的代码步骤一次又一次地针对新值执行,无涯教程还必须设置判定递归调用何时结束的标准。在下面的示例中,看到了二分搜索的递归方法,获取一个排序列表,并将其索引范围作为递归函数的输入。
使用递归搜索
无涯教程使用python实现了二分搜索算法,如下所示。使用元素的有序列表并设计一个递归函数 接受列表以及开始和结束索引作为输入。然后,二分搜索功能会自行调用,直到找到 搜索的元素或得出有关其不在列表中的结论。
def bsearch(list, idx0, idxn, val): if (idxn < idx0): return None else: midval=idx0 + ((idxn - idx0) //2) # 将搜索项与中间值进行比较 if list[midval] > val: return bsearch(list, idx0, midval-1,val) elif list[midval] < val: return bsearch(list, midval+1, idxn, val) else: return midval list=[8,11,24,56,88,131] print(bsearch(list, 0, 5, 24)) print(bsearch(list, 0, 5, 51))
2 None
祝学习愉快! (发现内容有误?请选中要编辑的内容 -> 右键 -> 修改 -> 提交!帮助我们改进教程质量)
精选教程推荐
👇 以下精选教程可能对您有帮助,拓展您的技术视野
暂无学习笔记,成为第一个分享的人吧!
您的笔记将帮助成千上万的学习者