【第四天】零基础入门刷题Python-算法篇-数据结构与算法的介绍-两种常见的递归算法(持续更新)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:这里可以添加本文要记录的大概内容:

第一天Python数据结构与算法的详细介绍
第二天五种常见的排序算法
第三天两种常见的搜索算法
第四天两种常见的递归算法
第五天一种常见的动态规划算法
第六天一种常见的贪心算法
第七天一种常见的分治算法
第八天一种常见的回溯算法
第九天六种常见的图论算法
第十天两种常见的字符串算法

提示:以下是本篇文章正文内容,下面案例可供参考

一、Python数据结构与算法的详细介绍

1.Python中的常用的搜索算法

以下是Python中的一些常用算法:

2.两种常见的递归算法

递归算法:函数调用自身来解决问题的编程技巧。递归通常用于分治法、树和图的遍历等。

  • 斐波那契数列:通过递归调用自身来计算斐波那契数列的第n项。时间复杂度为O(2^n),空间复杂度为O(n)(递归栈空间)。
  • 阶乘:通过递归调用自身来计算一个数的阶乘。时间复杂度为O(n),空间复杂度为O(n)(递归栈空间)。

3.两种详细的递归算法代码

1)斐波那契数列
def fibonacci(n):
    # 基本情况:当n为0时返回0,当n为1时返回1
    if n <= 0:
        return 0
    elif n == 1:
        return 1
    # 递归情况:F(n) = F(n-1) + F(n-2)
    else:
        return fibonacci(n-1) + fibonacci(n-2)
 
# 测试代码
if __name__ == "__main__":
    # 计算斐波那契数列的第10项
    result = fibonacci(10)
    print(f"Fibonacci(10) = {result}")  # 输出55

2)阶乘
def factorial(n):
    # 基本情况:当n为0时返回1
    if n == 0:
        return 1
    # 递归情况:n! = n * (n-1)!
    else:
        return n * factorial(n-1)

# 测试代码
if __name__ == "__main__":
    # 计算5的阶乘
    result = factorial(5)
    print(f"Factorial(5) = {result}")  # 输出120

总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文简单介绍两种常见的递归算法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值