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

湖州微信网站建设哈尔滨专业网站营销

湖州微信网站建设,哈尔滨专业网站营销,广东圆心科技网站开发建站教程详解,网站的管理系统文章目录 前言一、递归是什么?二、递归用在哪些方面三、递归的思想总结 前言 结合网上的示例,自己总结一下递归。 一、递归是什么? 在讲解“递归”这个抽象概念之前,让我们来重温一下昔日往事。小时候,当我们在缠着长…

文章目录

  • 前言
  • 一、递归是什么?
  • 二、递归用在哪些方面
  • 三、递归的思想
  • 总结


前言

结合网上的示例,自己总结一下递归。


一、递归是什么?

在讲解“递归”这个抽象概念之前,让我们来重温一下昔日往事。小时候,当我们在缠着长辈讲故事时,长辈们可能就用下面的故事来“忽悠”我们:

从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事!故事是什么呢?从前有座山,山里有座庙,庙里有个老和尚正在给小和尚讲故事!故事是什么呢……

除非讲故事的人自己停下来不讲了,不然这个故事可以“无限”讲下去,原因就是“故事”嵌套的“故事”就是“故事”本身,这就是语言上“递归”的例子。但是,由于这个故事并没有一个终止的条件,因此,它实际上是陷入了一种有头无尾的死循环,因此并不符合程序设计领域中定义的“递归”。

 那么在Python中递归就是一个函数内部可以自己调用自己(包括直接调用自己,间接调用自己)。

二、递归用在哪些方面

1、数学计算

在数学计算中,最常见的就是求阶乘。例如:5!=5*4*3*2*1

2、处理字符串

在字符串中常见的就是用于查找字符串

三、递归的思想

递归其实是一种逆向思维,就如同我要证明10>1,但是我现在证明不了,那我就证明2>1,这样就反向证明了10>1。

递归也会通过调用不断地把问题缩小,直到遇到一个简单的可以直接解决的基准情况。核心思想就是把一个大的问题,逐步的划成一个小范围,再从这个小范围里面,又继续划一个小范围。直到逼近最适合的答案。

举例:

1. 在列表中查找元素

假设我们要在一个列表中查找一个特定的元素,可以使用递归:

# 函数说明,lst是一个装有元素的列表,target是目标元素
def recursive_search(lst, target, index=0):# 基本情况:如果索引超出列表长度,则返回Noneif index == len(lst):return None# 检查当前元素是否为目标元素if lst[index] == target:return index# 递归调用,继续在列表的下一个元素中查找return recursive_search(lst, target, index + 1)# 示例
lst = [1, 2, 3, 4, 5]
target = 3
print(recursive_search(lst, target))  # 输出: 2

2. 在二叉树中查找元素

在二叉树中查找一个元素,也可以使用递归:

# 示例二叉树结构
#       4
#      / \
#     2   6
#    / \
#   1   3

class TreeNode:def __init__(self, value=0, left=None, right=None):self.value = valueself.left = leftself.right = rightdef search_in_bst(root, target):# 基本情况:如果树为空,返回Noneif root is None:return None# 检查当前节点值是否为目标值if root.value == target:return root# 如果目标值小于当前节点值,递归在左子树中查找elif target < root.value:return search_in_bst(root.left, target)# 如果目标值大于当前节点值,递归在右子树中查找else:return search_in_bst(root.right, target)# 示例二叉树结构
#       4
#      / \
#     2   6
#    / \
#   1   3
root = TreeNode(4, left=TreeNode(2, left=TreeNode(1), right=TreeNode(3)),right=TreeNode(value=6, left=None, right=None))print(search_in_bst(root, 4).value)  # 输出: 3

额外知识:

类的参数中的值,可以传入自己类的初始化参数。

引用文档:

https://zhuanlan.zhihu.com/p/158300209

百度安全验证

百度安全验证


总结

提示:这里对文章进行总结:

例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

http://www.dtcms.com/wzjs/841576.html

相关文章:

  • 网站seo视频教程关键词排名优化官网
  • ffmpeg做视频网站pc端网站开发
  • 四川城乡建设厅官方网站重庆网站建设总结与体会
  • 上海企业网站优化公司学校网站开发背景
  • 网站服务费一年多少钱wordpress固定连接不能访问
  • 适合国外网站的dnshtml购物网站设计
  • 网站建设设计外包公司搜索推广代运营
  • 长春网络网站制作开发百度做网站
  • 长沙市网站推广电话京东网站建设的策划书
  • 网站建设方案策划书前言深圳建设银行官方网站
  • 中国建设银行济南招聘信息网站厦门旅游网站设计
  • 青岛开发区网站建设公司工商信息查询
  • 九江专业的企业网站建设公司深圳市建设工程交易服务网宝安分中心
  • 晋江网站建设洛阳网站制作沈阳seo专业培训
  • 自己可以建设一个网站要钱wordpress 昵称
  • 在哪个网站可以查做项目中标的yum wordpress php扩展
  • 网站制作在哪里找工作室怎么注册
  • 建设网站公司地址酒类营销网站
  • 重庆最火的网站网站建设网上学
  • 怎么做最火的视频网站商城网站模板 免费
  • 做网站是什么职位网站小程序制作公司
  • 徐州哪家做网站好 百度一下
  • 做网站属于什么工作自己做的网站如何百度能搜索
  • 即墨区城乡建设局网站官网个人做的网站能备案吗
  • 专业网站开发建设北京集团公司网站建设
  • 厦门网站建设网站网站程序更换
  • 网站建设优化佛山青岛网站建设培训学校
  • 网站设计拓扑图网页游戏排行榜前十名国战
  • 自己做网站需要学什么搭建wordpress步骤
  • 网站推广策划案哪里有广州化妆品网站制作