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

建什么网站 做 cpawordpress电影站数据下载

建什么网站 做 cpa,wordpress电影站数据下载,兰州网络推广形式,内江网站建设新闻并查集前言一、按字典序排列的最小的等价字符串二、并查集总结参考文献前言 并查集有什么用?并查集是什么?搞懂这两个问题,相关的并查集问题就变得非常easy! 一、按字典序排列的最小的等价字符串 二、并查集 有一种方法&#x…

并查集

  • 前言
  • 一、按字典序排列的最小的等价字符串
  • 二、并查集
  • 总结
  • 参考文献

前言

并查集有什么用?并查集是什么?搞懂这两个问题,相关的并查集问题就变得非常easy!

一、按字典序排列的最小的等价字符串

在这里插入图片描述

二、并查集

有一种方法,并查集,它能将有关系的东西归为一类。
这里的问题,根据两字符的等价关系,将其归为一类,并得到最小字典序的root字符。
这里是一样的,只是选择每类的root字符时,需要比较一下,取字典序最小的字符节点作为root。

idea)构建好并查集后,遍历字符串baseStr,通过并查集寻找该字符的root,即该类最小等价字符。
注:
并查集是什么?并查集 = 数组 + union操作,经典的 数据结构 + 算法 == 程序,数组中每个元素为一个节点,根据节点的关系进行union操作,将各个节点分类。

func smallestEquivalentString(s1 string, s2 string, baseStr string) string {// 初始化并查集数据结构father := make([]byte,26)for i := 0;i < 26;i++ {father[i] = byte(i) // 这样方便改造树结构,且统一代码。i == father[i],此时返回father[i]和i的效果是一样的。}// 根据关系,做并查集操作unionfor i := 0;i < len(s1);i++ {union(s1[i],s2[i],father)}// 遍历baseStr,通过father数据结构的数据情况,来查找root字符rs := make([]byte,len(baseStr))for i := 0;i < len(baseStr);i++ {rs[i] = findRoot(baseStr[i],father)}return *(*string)(unsafe.Pointer(&rs))
}
func union(c1,c2 byte,father []byte) {cr1 := findFather(c1 - 97,father)cr2 := findFather(c2 - 97,father)if cr1 != cr2 {if cr1 < cr2 {father[cr2] = cr1}else {father[cr1] = cr2}}
}
func findFather(c byte,father []byte) byte {// 寻rootif father[c] != c {father[c] = findFather(father[c],father)}return father[c]
}
func findRoot(ch byte,father []byte) byte {ch = ch - 97for ; father[ch] != ch; {ch = father[ch]}return ch + 97
}

总结

1)并查集是什么?程序 = 数据结构+算法,并查集程序 = 数组 + union联合两节点。
2)并查集有什么用?每个数组元素为一个节点,根据节点关系union两节点,所以并查集的作用就是将元素归类。
3)并查集就像树一样,但是不是用链表来实现父子节点,而是连续内存的数组来实现。这跟字典树用arraylist来实现类似,并查集是子节点存父节点在数组中的位置,字典树是父节点存各个子节点在数组中的位置。毕竟并查集是从子找父,而字典树是从父找子。

参考文献

[1] LeetCode 按字典序排列的最小等价字符串

http://www.yayakq.cn/news/877534/

相关文章:

  • 公司的建设网站公司百度竞价品牌广告
  • 企业网站建设 网络服务高档网站建设
  • 中英网站模板 照明阿里云网站费用吗
  • seo 网站结构调整大连培训网站建设
  • 网站服务器打不开深圳网站建设 信科便宜
  • 青浦区做网站网站策划书格式
  • 服务态度 专业的网站建设专门型网站
  • 怎么制作手机app及网站宁波电信网站备案
  • 企业网站建设趋势网站用动态图片做背景怎么写
  • 自己怎么申请免费网站公司网站更换域名
  • 内蒙古建设工程造价管理网站wordpress使用百度分享插件下载
  • 企业建立网站的必要性贵港市建设局网站
  • 用tornado做网站永清网站建设
  • 建设网站上申请劳务资质吗山西网站建设软件
  • 网站开发 有哪些优化功能怎样优化推广
  • 公司网站建设服务机构富源县住房和城乡建设局网站
  • 博罗惠州网站建设网红营销推广
  • 网站建设售后服务费包括哪些整合营销是做什么的
  • 合肥最好的网站建设公司西部数码云服务器
  • 丹徒网站免费注册个人电子邮箱
  • 天津黑曼巴网站建设西双版纳傣族自治州民宿
  • 重庆网站建设changeke宁波网站制作企业
  • 网站做打鱼游戏挣钱吗微信微商软件
  • 网站收录需要多久深圳企业建设网站
  • 做系统那个网站好留言板网页设计代码
  • 网站营销平台代理商网站建设中代码
  • 食品网站首页模板欣赏做网站需要撑握哪些技术
  • 平台网站设计桂林网站建设制作
  • 代理国外网站wordpress更改后台地址
  • 手机网站头部代码wordpress xiu主题最新版