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

如何做网站管理维护可口可乐软文营销案例

如何做网站管理维护,可口可乐软文营销案例,建设一个视频网站需要什么条件,网络营销的方法和手段有哪些Disjoint Sets意思是一系列没有重复元素的集合。一种常见的实现叫做,Disjoint-set Forest可以以接近常数的时间复杂度查询元素所属集合,用来确定两个元素是否同属一个集合等,是效率最高的常见数据结构之一。 Wiki链接:https://en…

Disjoint Sets意思是一系列没有重复元素的集合。一种常见的实现叫做,Disjoint-set Forest可以以接近常数的时间复杂度查询元素所属集合,用来确定两个元素是否同属一个集合等,是效率最高的常见数据结构之一。

Wiki链接:https://en.wikipedia.org/wiki/Disjoint-set_data_structure

最近工作中制作一个模拟城市类型的游戏Demo,其中工业区和居民区之间需要有道路连通,两个区域才能发展,进行数值计算。使用Disjoint Set进行连通性测试,实现简单,性能绝佳。

结构实现

主要有三个操作:添加、合并、查询。用图形表示,数据结构大致逻辑为:

在这里插入图片描述

添加8个元素,他们分别在自己的集合中。

在这里插入图片描述

经过几次合并操作后,变成这样的集合状态。此时:1和2就在同一集合;1和7在不同集合。

表示

把每一个集合以一棵树表示,每一个节点即是一个元素。节点保存着到它的父节点的引用,树的根节点则保存一个空引用或者到自身的引用或者其他无效值,以表示自身为根节点。

添加

添加操作MakeSet(x)添加一个元素x,这个元素单独属于一个仅有它自己的集合。添加操作仅需将元素标记为根节点。

查询

在不交集森林中,每个集合的代表即是集合的根节点。查询操作Find(x)x开始,根据节点到父节点的引用向根行进,直到找到根节点。

路径压缩优化

在集合很大或者树很不平衡时,上述代码的效率很差,最坏情况下(树退化成一条链时),单次查询的时间复杂度高达O(n)。一个常见的优化是路径压缩:

在查询时,把被查询的节点到根节点的路径上的所有节点的父节点设置为根结点,从而减小树的高度。也就是说,在向上查询的同时,把在路径上的每个节点都直接连接到根上,以后查询时就能直接查询到根节点。

合并

合并操作Union(x, y)把元素x所在的集合与元素y所在的集合合并为一个。合并操作首先找出节点x与节点y对应的两个根节点,如果两个根节点其实是同一个,则说明元素x与元素y已经位于同一个集合中,否则,则使其中一个根节点成为另一个的父节点。

按秩合并优化

上述代码的问题在于,可能会使得树不平衡,增大树的深度,从而增加查询的耗时。一个控制树的深度的办法是,在合并时,比较两棵树的大小,较大的一棵树的根节点成为合并后的树的根节点,较小的一棵树的根节点则成为前者的子节点。

判断树的大小有两种常用的方法,一个是以树中元素的数量作为树的大小,这被称为按大小合并

另一种做法则是使用Rank来比较树的大小。Rank的定义如下:

  • 只有根节点的树(即只有一个元素的集合),Rank为0;
  • 当两棵Rank不同的树合并后,新的树的Rank为原来两棵树的Rank的较大者;
  • 当两棵Rank相同的树合并后,新的树的Rank为原来的树的Rank加一。

容易发现,在没有路径压缩优化时,树的Rank等于树的深度减一。在有路径压缩优化时,树的Rank仍然能反映出树的深度和大小。在合并时根据两棵树的Rank的大小,决定新的根节点,这被称作按Rank合并

Wiki链接中有详细的伪码,可供参考。

应用思路

前文中提到的模拟城市类型的游戏,地图的构造是基于格子的,道路是由一些列格子连接而成,是比较典型的独立集合。使用思路:

  1. 每次创建道路格子,将其添加到Set;
  2. 查找与该道路相邻的其它道路,进行合并;
  3. 经过一系列上述操作后,相连的道路都进入同一集合了;有相同的root
  4. 查找两个建筑的连通情况,找到与建筑相邻的道路,查询两个建筑的道路格子直接是否在同一集合,即可得到连通性。

关于删除道路

删除一个道路,找出与其相邻的所有道路格子,将这些格子的parent设置为自身,然后进行深度遍历合并集合。

http://www.hkea.cn/news/261085/

相关文章:

  • 专业网站建设费用报价今日最新消息
  • 电商网站建设论文2022黄页全国各行业
  • 能源企业 网站建设网络营销的应用
  • 如何看网站是用什么语言做的关键词排名是由什么决定的
  • 政府网站建设招标书百度网站收录
  • 已经有了网站怎么做推广哈尔滨关键词优化报价
  • 网站建设与管理作业镇江推广公司
  • 域名申请好后 如何建设网站网站权重划分
  • 佛山百度网站快速优化网络营销推广工具
  • 建一个网站需要哪些人广州seo网站推广公司
  • 建设银行etc官方网站搜索引擎优化的七个步骤
  • 做网站需要花钱吗海南百度推广运营中心
  • 做的网站显示图片很慢百度运营公司
  • 青州哪里做网站公司推广渠道
  • 网站面包屑导航怎么做的网推接单平台有哪些
  • 宜昌网站建设兼职百度关键词排名软件
  • 如何让百度快照找到自己的网站营销策划方案ppt模板
  • php网站超市广告软文是什么意思
  • b2c跨境电商宣城网站seo
  • 网站建设一流公司免费网站开发平台
  • 网站开发模式名词外贸谷歌优化
  • 网站素材 下载产品推广渠道
  • 网站后台维护怎么做seo专员工资一般多少
  • 中国网站推广黄页名录微商推广哪家好
  • 哈尔滨网站开发电话电商培训基地
  • 如何用php数据库做网站搜索seo优化托管
  • 中国城乡建设部人力网站首页优化落实疫情防控
  • 做网站到底能不能赚钱网络优化工程师前景
  • 乌镇网站建设标书百度站长工具域名查询
  • 制作公司网站价格腾讯广告代理商加盟