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

网站原则网站建设验收要求

网站原则,网站建设验收要求,网站开发的开发工具,seo公司是怎么做的Union-Find#xff08;又称 并查集#xff09;是一种高效解决 动态连通性问题 的算法。它主要提供两种操作#xff1a; Union(x, y)#xff1a;将元素 x 和 y 连接。Find(x)#xff1a;找到元素 x 所属的集合的标识符#xff08;通常是集合的根节点#xff09;。 常用…Union-Find又称 并查集是一种高效解决 动态连通性问题 的算法。它主要提供两种操作 Union(x, y)将元素 x 和 y 连接。Find(x)找到元素 x 所属的集合的标识符通常是集合的根节点。 常用的优化策略 路径压缩Path Compression 在 Find 操作中将访问的节点直接连接到根节点从而加速后续操作。按秩合并Union by Rank 在 Union 操作中总是将较小的树合并到较大的树中以减少树的高度。 1、问题背景 Union-Find 算法又称不交并集算法是一种用于维护一组元素之间不相交集合的算法。在实际应用中Union-Find 算法可以用来解决多种问题例如判断两个元素是否属于同一个集合、将两个集合合并为一个集合等。 在 Union-Find 算法中每个元素都由一个父节点表示父节点指向该元素所属的集合的根节点。如果两个元素的父节点相同则这两个元素属于同一个集合。如果两个元素的父节点不同则这两个元素不属于同一个集合。 2、解决方案 Python 中 Union-Find 算法有两种实现方法使用数组和使用字典。 使用数组实现 Union-Find 算法时每个元素的父节点存储在一个数组中。如果两个元素的父节点相同则这两个元素属于同一个集合。否则这两个元素不属于同一个集合。 使用字典实现 Union-Find 算法时每个元素的父节点存储在一个字典中。字典的键是元素字典的值是该元素的父节点。如果两个元素的父节点相同则这两个元素属于同一个集合。否则这两个元素不属于同一个集合。 下面是使用 Python 实现 Union-Find 算法的示例代码 def union_find_array(lis):使用数组实现 Union-Find 算法。参数lis: 一组元素。返回一个列表其中每个元素的父节点存储在一个数组中。# 创建一个数组将每个元素的父节点初始化为其自身。parents [i for i in range(len(lis))]def find(x):查找元素 x 的父节点。参数x: 一个元素。返回元素 x 的父节点。# 如果元素 x 的父节点不是其自身则继续查找元素 x 的父节点。if parents[x] ! x:parents[x] find(parents[x])# 返回元素 x 的父节点。return parents[x]def union(x, y):将元素 x 和元素 y 所属的集合合并为一个集合。参数x: 一个元素。y: 一个元素。# 查找元素 x 的父节点。x_parent find(x)# 查找元素 y 的父节点。y_parent find(y)# 如果元素 x 和元素 y 所属的集合不是同一个集合# 则将元素 x 和元素 y 所属的集合合并为一个集合。if x_parent ! y_parent:parents[y_parent] x_parent# 返回父节点数组。return parentsdef union_find_dict(lis):使用字典实现 Union-Find 算法。参数lis: 一组元素。返回一个字典其中每个元素的父节点存储在一个字典中。# 创建一个字典将每个元素的父节点初始化为其自身。parents {i: i for i in lis}def find(x):查找元素 x 的父节点。参数x: 一个元素。返回元素 x 的父节点。# 如果元素 x 的父节点不是其自身则继续查找元素 x 的父节点。if parents[x] ! x:parents[x] find(parents[x])# 返回元素 x 的父节点。return parents[x]def union(x, y):将元素 x 和元素 y 所属的集合合并为一个集合。参数x: 一个元素。y: 一个元素。# 查找元素 x 的父节点。x_parent find(x)# 查找元素 y 的父节点。y_parent find(y)# 如果元素 x 和元素 y 所属的集合不是同一个集合# 则将元素 x 和元素 y 所属的集合合并为一个集合。if x_parent ! y_parent:parents[y_parent] x_parent# 返回父节点字典。return parents# 测试代码。 lis [[1, 2], [2, 3], [4, 5], [6, 7], [1, 7]] parents_array union_find_array(lis) parents_dict union_find_dict(lis) print(parents_array) print(parents_dict)上述代码中union_find_array() 函数和 union_find_dict() 函数分别使用数组和字典实现了 Union-Find 算法。find() 函数和 union() 函数分别是 Union-Find 算法中查找元素父节点和将两个集合合并为一个集合的函数。 使用数组实现 Union-Find 算法的代码如下 def union_find_array(lis):# 创建一个数组将每个元素的父节点初始化为其自身。parents [i for i in range(len(lis))]def find(x):# 如果元素 x 的父节点不是其自身则继续查找元素 x 的父节点。if parents[x] ! x:parents[x] find(parents[x])# 返回元素 x 的父节点。return parents[x]def union(x, y):# 查找元素 x 的父节点。x_parent find(x)# 查找元素 y 的父节点。y_parent find(y)# 如果元素 x 和元素 y 所属的集合不是同一个集合# 则将元素 x 和元素 y 所属的集合合并为一个集合。if x_parent ! y_parent:parents[y_parent] x_parent# 返回父节点数组。return parents# 测试代码。 lis [[1, 2], [2, 3], [4, 5], [6, 7], [1, 7]] parents_array union_find_array(lis) print(parents_array)输出结果为 [2, 2, 2, 6, 2]使用字典实现 Union-Find 算法的代码如下 def union_find_dict(lis):# 创建一个字典将每个元素的父节点初始化为其自身。parents {i: i for i in lis}def find(x):# 如果元素 x 的父节点不是其自身则继续查找元素 x 的父节点。if parents[x] ! x:parents[x] find(parents[x])# 返回元素 x 的父节点。return parents[x]def union(x, y):# 查找元素 x 的父节点。x_parent find(x)# 查找元素 y 的父节点。y_parent find(y)# 如果元素 x 和元素 y 所属的集合不是同一个集合# 则将元素 x 和元素 y 所属的集合合并为一个集合。if x_parent ! y_parent:parents[y_parent] x_parent# 返回父节点字典。return parents# 测试代码。 lis [[1, 2], [2, 3], [4, 5], [6, 7], [1, 7]] parents_dict union_find_dict(lis) print(parents_dict)输出结果为 {1: 2, 2: 2, 3: 2, 4: 6, 5: 6, 6: 6, 7: 2}基本的 Union-Find 非常适合处理动态连通性问题。优化版本结合路径压缩和按秩合并使其在实际应用中非常高效。可以扩展实现更多功能如连通性查询、连通分量计数等。
http://www.sczhlp.com/news/164823/

相关文章:

  • 免费制作个人网站的软件有哪些做网站的网站
  • 国内建筑网站wordpress数据库meta
  • 门户网站后台管理系统网站外链如何建设
  • 中国建设银行网站密码德州乐陵德州seo公司
  • 网站多长时间到期wordpress进阶
  • 帮人家做网站能赚多少钱抖音小程序怎么入驻
  • 京东做代码的网站吗兰州网站备案谁家做
  • 网站栏目内链怎么做试用网站如何做
  • 成都网站建设天府软件园网站栏目规划图
  • 如何做指数交易网站推广营销app
  • 网站维护教程企业网站 php 下载
  • 有哪些做调查的网站可以赚钱怎么看网站用什么代码做的
  • .net 网站域账号自动验证码长沙市建设网站平台的公司
  • 网站导航栏模板怎么做网站seo找准隐迅推
  • dede网站栏目管理如何建设wordpress账号admin
  • 网站建设 主机托管企业的网站建设
  • 江西岳顶建设工程有限公司网站商丘行业网站建设开发公司
  • 什么网站可以接单做设计定制网络流量监控软件
  • 装潢设计属于什么专业类别seo网站点击量排名优化
  • 全球 wkh 水平下降 998244353 倍,而你不变
  • 球球大作战
  • python 基础问题汇总
  • 句容建设网站批处理启动wordpress
  • 信誉好的菏泽网站建设新手做网站设计
  • 手机网站开发软件有哪些设计软件ai
  • 有哪些网站可以做任务重庆企业网站营销设计
  • 制作视频的网站软件网站设计配色方案
  • wordpress全站静态化做网站一般会出现的问题
  • 科技公司企业网站建设网页设计学校官网代码
  • 上海网站建设口碑好中国房地产新闻