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

杭州网站建设索q479185700网站搜索引擎优化的基本内容

杭州网站建设索q479185700,网站搜索引擎优化的基本内容,上海网站开发开发好的公司电话,上海涛飞专业网站建设课程: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://www.dtcms.com/wzjs/88757.html

相关文章:

  • 上饶做网站最好的公司国外网站开发
  • 做实体上什么网站找项目seo关键词优化案例
  • 备案网站公共查询系统百度云资源搜索引擎
  • 衢州 网站建设企业员工培训课程内容
  • 微信小程序推广引流怎么做seo免费优化网址软件
  • 网站设计应该做哪些市场营销是做什么的
  • 国外工程建筑网站宁波seo深度优化平台有哪些
  • 怎么自己做卡盟网站荥阳seo推广
  • wordpress 大型网站吗wordpress外贸独立站
  • 农村电商网站建设分类友情链接百科
  • 北滘 网站建设竞价推广外包托管
  • 企业网站搜索引擎推广方法包括找广告商的平台
  • 惠州网站建设惠州百度框架户开户渠道代理
  • 网站显示乱码怎么办啊杭州网站优化流程
  • 鲜花网站建设方案网络商城应该如何推广
  • 网站公司好做吗怎么在百度上发布信息
  • 多个页面网站的制作方法搜狗网站
  • 为企业建网站营销型企业网站制作
  • 网站建设开发计划书如何利用seo赚钱
  • 装企网站建设山西seo排名
  • 东莞企业网站建设什么平台可以发广告引流
  • wordpress主题不显示衡阳seo快速排名
  • 苏州网站制作最近三天的新闻大事简短
  • 河南网站开发阻断艾滋病的药有哪些
  • 青浦赵巷网站建设seo搜索优化技术
  • 丹麦网站后缀地推网推平台
  • 微信红包网站制作长沙seo工作室
  • 微商城网站建设价位贵州seo培训
  • 建筑图纸字母代号大全抖音seo优化系统招商
  • 学做美食的网站视频seo如何提升排名收录