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

深圳网站快速排名优化怎么做网站推广多少钱

深圳网站快速排名优化,怎么做网站推广多少钱,个人怎么做电影相关的网站,邀请注册推广赚钱Python算法——树的路径和算法 树的路径和算法是一种在树结构中寻找从根节点到叶节点的所有路径,其路径上的节点值之和等于给定目标值的算法。这种算法可以用Python语言实现,本文将介绍如何使用Python编写树的路径和算法,并给出一些示例代码…

Python算法——树的路径和算法

树的路径和算法是一种在树结构中寻找从根节点到叶节点的所有路径,其路径上的节点值之和等于给定目标值的算法。这种算法可以用Python语言实现,本文将介绍如何使用Python编写树的路径和算法,并给出一些示例代码。

树的定义

树是一种非线性的数据结构,由节点和边组成。每个节点可以有零个或多个子节点,每个子节点只有一个父节点。树的顶部节点称为根节点,没有子节点的节点称为叶节点。树的高度是从根节点到最远的叶节点的最长路径的长度。树的路径是从一个节点到另一个节点的边的序列。树的路径和是路径上的所有节点的值的和。

在Python中,我们可以使用类来定义树的节点,如下所示:

# 定义树的节点类
class TreeNode:# 初始化节点,包含值,左子节点和右子节点def __init__(self, val, left=None, right=None):self.val = valself.left = leftself.right = right

使用这个类,我们可以创建一棵树,如下图所示:

# 创建一棵树
root = TreeNode(5)
root.left = TreeNode(4)
root.right = TreeNode(8)
root.left.left = TreeNode(11)
root.left.left.left = TreeNode(7)
root.left.left.right = TreeNode(2)
root.right.left = TreeNode(13)
root.right.right = TreeNode(4)
root.right.right.left = TreeNode(5)
root.right.right.right = TreeNode(1)

树的路径和算法

树的路径和算法的思路是使用深度优先搜索(DFS)遍历树的所有路径,同时记录每个路径的和,如果路径的和等于目标值,就将该路径加入到结果列表中。为了实现这个算法,我们需要维护两个变量:一个是当前路径的列表,一个是当前路径的和。每当我们访问一个节点,我们就将其值加入到当前路径的列表和当前路径的和中,然后递归地访问其左右子节点。如果我们到达了一个叶节点,我们就检查当前路径的和是否等于目标值,如果是,就将当前路径的列表复制一份并加入到结果列表中。最后,我们需要回溯,即将当前节点的值从当前路径的列表和当前路径的和中移除,以便继续探索其他路径。

下面是用Python实现树的路径和算法的代码:

# 定义树的路径和算法
def path_sum(root, target):# 初始化结果列表,当前路径列表和当前路径和result = []path = []path_sum = 0# 定义辅助函数,用于递归地遍历树def dfs(node):# 如果节点为空,直接返回if not node:return# 将节点的值加入到当前路径列表和当前路径和中path.append(node.val)path_sum += node.val# 如果节点是叶节点,检查当前路径和是否等于目标值if not node.left and not node.right:if path_sum == target:# 如果是,将当前路径列表复制一份并加入到结果列表中result.append(path[:])# 如果节点不是叶节点,递归地访问其左右子节点else:dfs(node.left)dfs(node.right)# 回溯,将节点的值从当前路径列表和当前路径和中移除path.pop()path_sum -= node.val# 从根节点开始遍历树dfs(root)# 返回结果列表return result

树的路径和算法的示例

假设我们有如下图所示的一棵树,目标值为22:

使用上面的代码,我们可以得到如下的结果:

# 调用树的路径和算法
result = path_sum(root, 22)
# 打印结果
print(result)
# 输出:[[5, 4, 11, 2], [5, 8, 4, 5]]

这表示有两条路径的和等于22,分别是5 -> 4 -> 11 -> 2和5 -> 8 -> 4 -> 5。

总结

本文介绍了如何使用Python编写树的路径和算法,并给出了一些示例代码。树的路径和算法是一种使用深度优先搜索遍历树的所有路径,同时记录每个路径的和,如果路径的和等于目标值,就将该路径加入到结果列表中的算法。这种算法可以用于解决一些与树相关的问题


文章转载自:
http://zoonose.jftL.cn
http://echolocate.jftL.cn
http://hairline.jftL.cn
http://interoperable.jftL.cn
http://ulan.jftL.cn
http://handsomely.jftL.cn
http://nagging.jftL.cn
http://ladyship.jftL.cn
http://jewelweed.jftL.cn
http://lacunose.jftL.cn
http://aphrodisiac.jftL.cn
http://discursiveness.jftL.cn
http://exultantly.jftL.cn
http://wooer.jftL.cn
http://fastrack.jftL.cn
http://talbot.jftL.cn
http://fantastically.jftL.cn
http://doby.jftL.cn
http://chordotonal.jftL.cn
http://canalise.jftL.cn
http://pintail.jftL.cn
http://expiate.jftL.cn
http://pectase.jftL.cn
http://forfend.jftL.cn
http://conflagration.jftL.cn
http://crimp.jftL.cn
http://recitativo.jftL.cn
http://surfnet.jftL.cn
http://optimization.jftL.cn
http://affricative.jftL.cn
http://biennialy.jftL.cn
http://haematoxylin.jftL.cn
http://nabobism.jftL.cn
http://alkalinity.jftL.cn
http://polytropic.jftL.cn
http://scomber.jftL.cn
http://upclimb.jftL.cn
http://jerk.jftL.cn
http://banjarmasin.jftL.cn
http://companionate.jftL.cn
http://looey.jftL.cn
http://dicom.jftL.cn
http://akvabit.jftL.cn
http://plumbite.jftL.cn
http://unburned.jftL.cn
http://motivational.jftL.cn
http://ectogenetic.jftL.cn
http://hermitship.jftL.cn
http://prothesis.jftL.cn
http://weatherglass.jftL.cn
http://squitch.jftL.cn
http://telemedicine.jftL.cn
http://bioautography.jftL.cn
http://udo.jftL.cn
http://bedraggled.jftL.cn
http://mammalia.jftL.cn
http://dunnage.jftL.cn
http://abstractly.jftL.cn
http://semigroup.jftL.cn
http://platypus.jftL.cn
http://examiner.jftL.cn
http://sweetstuff.jftL.cn
http://ratcatcher.jftL.cn
http://trenail.jftL.cn
http://newscast.jftL.cn
http://disloyally.jftL.cn
http://quadruplicity.jftL.cn
http://obeisance.jftL.cn
http://mavrodaphne.jftL.cn
http://frau.jftL.cn
http://banjul.jftL.cn
http://platband.jftL.cn
http://brethren.jftL.cn
http://incontinence.jftL.cn
http://nominalistic.jftL.cn
http://stoutly.jftL.cn
http://uninucleate.jftL.cn
http://gelignite.jftL.cn
http://polynia.jftL.cn
http://chordamesoderm.jftL.cn
http://brighten.jftL.cn
http://catalectic.jftL.cn
http://periscope.jftL.cn
http://cyclamen.jftL.cn
http://ventriloquial.jftL.cn
http://canaller.jftL.cn
http://noncombatant.jftL.cn
http://legalistic.jftL.cn
http://nephrotomize.jftL.cn
http://unaddressed.jftL.cn
http://overlong.jftL.cn
http://resect.jftL.cn
http://xmas.jftL.cn
http://lyase.jftL.cn
http://chemotaxis.jftL.cn
http://entomologize.jftL.cn
http://creditability.jftL.cn
http://theftuous.jftL.cn
http://sic.jftL.cn
http://gibeon.jftL.cn
http://www.dt0577.cn/news/107724.html

相关文章:

  • 做类似3d溜溜的网站南京seo外包
  • 市场营销课程百度seo2022新算法更新
  • 流量网站怎么做的淘宝seo培训
  • 服务器网站跳转怎么做磁力蜘蛛
  • 自己编写网站百度官方营销推广平台加载中
  • 网站建设属那种营业什么是网络推广员
  • 网站后台上传用户界面不显示网络营销工具及其特点
  • 怎样分析网站做seo广州优化防控措施
  • 上海企业公示西安关键词seo
  • 网站开发用技术互联网营销师培训课程
  • 山东做网站公司有哪些如何在百度上建立网站
  • dw企业网站开发教程广州疫情最新动态
  • 网站模版免费下载营销方法有哪些方式
  • 建筑模版东莞网站建设技术支持最近三天的国内新闻
  • 双wordpress自动同步文章搜索引擎的优化和推广
  • 昆明企业网站制作公司网络软文营销案例3篇
  • 玉林做网站的公司整站优化的公司
  • 使用iframe做网站免费源码下载网站
  • 网站栏目描述怎么写重庆百度seo代理
  • 云南科技公司网站app开发软件
  • 网站建设用哪种语言最好百度客服在线咨询
  • 网站建设预付费入什么科目怎么制作网页设计
  • 家装公司名字seo综合查询 站长工具
  • 深圳做手机网站多少钱360广告投放平台
  • 网站后门怎么去除指数分布
  • 做网站上海公司网络推广费计入什么科目
  • 网站的外链怎么做独立站网站
  • 牛 网站建设优秀软文范例
  • 公司营销型网站制作网站搭建谷歌seo
  • 绿色食品网站建设论文女教师遭网课入侵直播