当前位置: 首页 > wzjs >正文

周到的网站建设可免费下载的简历模板

周到的网站建设,可免费下载的简历模板,网站设计下载,久久建筑网站下载课程:B站大学 记录python学习,直到学会基本的爬虫,使用python搭建接口自动化测试就算学会了,在进阶webui自动化,app自动化 递归算法 递归的基本原则递归的使用作业小tips:斐波那契数列阶乘快速排序 实践是检…

课程:B站大学
记录python学习,直到学会基本的爬虫,使用python搭建接口自动化测试就算学会了,在进阶webui自动化,app自动化

递归算法

  • 递归的基本原则
    • 递归的使用
    • 作业小tips:
      • 斐波那契数列
      • 阶乘
      • 快速排序
  • 实践是检验真理的唯一标准


递归的基本原则

递归函数通常遵循以下原则:

  • 定义基本情况 确定一个或多个输入的特殊情况,当满足这些条件时,递归函数将直接返回结果而不再调用自身。
  • 减小问题规模 通过调用自身来解决一个规模更小的问题,这样每次递归调用都在问题规模上取得了进展。
    也就是需要一个已定义好的规则来使其它非基本的情况转化为基本情况。
  • 终止条件 递归函数必须包含能够导致函数不再递归调用的条件,以避免无限递归。

递归的使用

数学中有一个比较经典的递归算式就是求阶乘

一个正整数的阶乘 factorial 是所有小于及等于该数的正整数的积,并且 0 的阶乘为 1。自然数 n 的阶乘写作 n!。

对阶乘的定义进行分析:

首先定义 f(n) 为阶乘函数。它的结果就是阶乘计算之后的值。
从定义中能得到基本情况为: f(0) = 1, f(1) = 1
其它情况: f(2) = 21 = 2f(1),f(3) = 321 = 3*f(2) 即 f(n) = f(n-1) * n
示例:

def f(n):"""实现计算 n 的阶乘return:n 阶乘计算之后的值"""if n == 0 or n == 1:# 对应基本情况return 1return f(n - 1) * n  # 对应递归情况

大多数情况下的递归操作都可以使用循环所替代。

在使用递归时,要注意避免陷入无限调用而产生的内存溢出。

作业小tips:

斐波那契数列

编写一个Python程序,使用递归算法,生成并输出斐波那契数列的前n项,其中n是用户指定的正整数。斐波那契数列,又称黄金分割数列,指的是:1、1、2、3、5、8、13、21、34…从第三个数开始,每个数字都是前两个数字之和。

def fibonacci(n):if n <= 0:return 0elif n == 1 or n == 2:return 1else:return fibonacci(n - 1) + fibonacci(n - 2)# 计算斐波那契数列的第 10 项
n = 10
fib_result = fibonacci(n)
print(f"斐波那契数列的第 {n} 项为:{fib_result}")
def fibonacci(n): 这是定义一个名为 fibonacci 的函数,它接受一个参数 n,用于计算斐波那契数列的第 n 项。if n <= 0: 这是一个条件判断语句,用于检查 n 是否小于等于 0return 0 如果 n 小于等于 0,返回 0。elif n == 1 or n == 2: 这是另一个条件判断语句,检查 n 是否等于 12return 1 如果 n 等于 12,返回 1return fibonacci(n - 1) + fibonacci(n - 2) 这是递归的部分。当 n 大于 2 时,递归地调用 fibonacci 函数来计算第 n-1 项和第 n-2 项的和,然后返回结果。fib_result = fibonacci(n) 调用 fibonacci 函数,传入参数 n,计算斐波那契数列的第 10 项。print(f"斐波那契数列的第 {n} 项为:{fib_result}") 打印计算结果,显示斐波那契数列的第 10 项的值。

阶乘

编写一个Python程序,使用递归算法,计算给定正整数n的阶乘。阶乘的定义是从1到n所有正整数的乘积。例如3的阶乘为123=6。
def factorial(n):

    if n == 0 or n == 1:return 1else:return n * factorial(n - 1)n = int(input("请输入要计算阶乘的正整数:"))
result = factorial(n)
print(f"{n}的阶乘是:{result}")

快速排序

思路:

  • 首先选择一个基准元素,通常是选择待排序列表的第一个元素。
  • 将列表分成两部分,小于基准元素的元素放在左边,大于基准元素的元素放在右边。这个过程称为分区(partition)。
  • 递归地对左右两个分区进行快速排序。也就是将左边的分区作为新的子列表,再次选择基准元素,并进行分区操作。对右边的分区也是同样的操作。
  • 递归的结束条件是分区中只有一个元素或为空,此时分区已经是有序的。
  • 最后将所有的分区合并起来,即可得到排好序的列表。
def quickSort(arr):if len(arr) <= 1:return arrpivot = arr[len(arr) // 2]  # 选取数组中间元素作为基准值left = [x for x in arr if x < pivot]  # 小于基准值的部分放在左边列表middle = [x for x in arr if x == pivot]  # 等于基准值的部分放在中间列表right = [x for x in arr if x > pivot]  # 大于基准值的部分放在右边列表return quickSort(left) + middle + quickSort(right)  # 合并结果返回

在这里插入图片描述

实践是检验真理的唯一标准


文章转载自:

http://HmB0NijO.qqhfc.cn
http://fdaC4Epi.qqhfc.cn
http://vsRPtlyH.qqhfc.cn
http://aVb9gcP4.qqhfc.cn
http://bjE0UOkO.qqhfc.cn
http://C4Gl96RN.qqhfc.cn
http://X9eo2CUw.qqhfc.cn
http://OzqmNDV3.qqhfc.cn
http://FUtb9fTz.qqhfc.cn
http://rWbnL7G9.qqhfc.cn
http://nkpR2PdL.qqhfc.cn
http://WzmoJOG7.qqhfc.cn
http://aars372p.qqhfc.cn
http://3RvubIBY.qqhfc.cn
http://Uc0OeV0Y.qqhfc.cn
http://oKVnMotR.qqhfc.cn
http://KUCnv0Jh.qqhfc.cn
http://z6fQ3lIp.qqhfc.cn
http://rGjPqOGx.qqhfc.cn
http://ddWNN7vi.qqhfc.cn
http://IjxRtjEk.qqhfc.cn
http://prtoRAAu.qqhfc.cn
http://WZrSamY3.qqhfc.cn
http://jXhUNwfH.qqhfc.cn
http://5MtAkfFC.qqhfc.cn
http://0Ju8Wczk.qqhfc.cn
http://gbkf6JTD.qqhfc.cn
http://BQ1XARkd.qqhfc.cn
http://dk9L4gtr.qqhfc.cn
http://FrWZx9oP.qqhfc.cn
http://www.dtcms.com/wzjs/760260.html

相关文章:

  • 泾川县建设局网站免费标志在线设计
  • 会议专属网站平台建设报价单如何添加百度指数
  • 邯郸市城乡建设管理局网站asp官方网站
  • 设计网站公司做网站游燕
  • 欧美化妆品网站模板下载大连建设工程信息网查询
  • 网站建设与代运营介绍中国新闻社四川分社
  • 装潢设计培训网站同时做竞价和优化可以吗
  • 网站建设通报室内装修图
  • 网站建设需要交印花税吗wordpress 360浏览器
  • 顺德网站建海南网络广播电视台开学第一课
  • 电脑上做网站网站开发拓扑图
  • 做展示类网站设计师一般多少岁被淘汰
  • 辽阳专业网站建设品牌百度首页百度
  • 网站开发需要客户做什么wordpress的文档主题
  • 关于申请开通网站建设的请示网站开发PRD
  • 温岭做鞋子的网站wordpress网站 华为
  • 找做cad彩拼的网站网站开发工程师是什么
  • 江门自助建站模板东莞市网站建设制作设计平台
  • 大学生简历制作网站学校官网主页网页设计
  • 建设网站需要什么手续全网推广引流黑科技
  • 销售推广做那个网站合肥优化网站哪家公司好
  • 网站开发客户来源WordPress系统配置要求
  • 长沙网站制作一般多少钱网站如何跳转
  • 呼市企业网站制作丰和园林建设集团网站
  • 网站项目的介绍静安建设网站
  • 网站建设立项ppt模板得有店小程序官网
  • asp.net 创建网站做网站需要哪些东西
  • 成都网站托管做网站教程 第一课
  • 海淀网站建设公司杭州维利国德网站建设案例
  • 建设网站要求263企业邮箱入口登录网页版