Python递归的算法分析(附实例)

    作者:易百教程更新于: 2020-02-14 15:48:26

    大神带你学编程,欢迎选课

    Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发

    递归允许函数自调用。 修复代码的步骤会一次又一次地执行新值。 还必须设置判断递归调用何时结束的标准。 在下面的例子中,演示如何使用二进制搜索的递归方法。采用一个排序列表,并将其索引范围作为递归函数的输入。

    使用递归进行二进制搜索

    使用python实现二进制搜索算法,如下所示。 我们使用有序的项目列表,并设计一个递归函数,将起始索引和结束索引作为输入列表。 然后二进制搜索函数自行调用,直到搜索到项目或在列表中结束。

    参考以下代码实现 -

    def bsearch(list, idx0, idxn, val):
    
        if (idxn < idx0):
            return None
        else:
            midval = idx0 + ((idxn - idx0) // 2)
    # Compare the search item with middle most value
    
            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))
    
    Python

    执行上面示例,得到以下结果 -

    2
    None
    在您开始之前,在你的计算机将需要Python,但您可能不需要下载它。首先检查(在同级目录下在命令行窗口输入python)有没有安装Python。如果你看到了一个Python解释器的响应,那么就能在它的显示窗口中得到一个版本号。通常的版本都可以做到Python的向前兼容。

课课家教育

未登录

1