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

做外汇 虚拟网站南京seo收费

做外汇 虚拟网站,南京seo收费,兰州网站优化,上海比较有名的大公司有哪些C语言实现并查集 导读一、并查集的定义1.1 定义解析二、逻辑结构三、存储结构3.1 树与森林的存储结构3.2 并查集的存储结构四、算法五、基本实现5.1 初始化5.2 查找5.3 合并5.4 算法测试六、算法分析6.1 时间复杂度6.2 空间复杂度结语导读 大家好,很高兴又和大家见面啦!!!…

C语言实现并查集

  • 导读
  • 一、并查集的定义
    • 1.1 定义解析
  • 二、逻辑结构
  • 三、存储结构
    • 3.1 树与森林的存储结构
    • 3.2 并查集的存储结构
  • 四、算法
  • 五、基本实现
    • 5.1 初始化
    • 5.2 查找
    • 5.3 合并
    • 5.4 算法测试
  • 六、算法分析
    • 6.1 时间复杂度
    • 6.2 空间复杂度
  • 结语

C语言实现并查集

导读

大家好,很高兴又和大家见面啦!!!

在上一篇内容中我们从数据结构的三要素初步认识了并查集这种数据结构,但是上一篇对并查集的介绍并不准确。

那我们对并查集的认识存在哪些错误呢?我们又应该如何实现并查集呢?在今天的内容中,我们将会从数据结构的三要素出发,进一步学习并实现并查集。

一、并查集的定义

并查集是一种高效管理不相交集合的数据结构,专门解决动态连通性问题。它通过树形结构组织集合元素,支持以下核心操作:

  • ​查询(Find)​:判断两个元素是否属于同一集合
  • ​合并(Union)​:将两个不相交的集合合并为一个集合

1.1 定义解析

并查集是一种高效管理不相交集合的数据结构

从第一句话的前部分中,我们需要提取3个关键信息:

  • 高效管理
  • 不相交集合
  • 数据结构

在上一篇内容中,我们认识了并查集是一种数据结构,其逻辑结构是集合,但是为什么说并查集是高效管理呢?

这是因为在实际的使用过程中,我们通过对并查集实现优化后能够做到近似常数级的时间复杂度。具体如何实现,后面我们会继续介绍,这里先不展开。

这里说的高效管理不相交集合实际上是指并查集中各个不相交的子集。

专门解决动态连通性问题

在第一句话的后半部分中,我们需要理解什么是动态连通性问题。

简单来说,就是查询两个元素是否连通,对两个不联通的元素建立连通关系。这也就是我们所说的查找与合并。

通过树形结构组织集合元素

这里所说的树形结构与传统的树形结构是有区别的:

  • 传统的树形结构就是我们前面学的递归结构,每一个结点都会通过其孩子指针指向孩子结点
  • 并查集中子集的树形结构并不属于递归结构,它是由每个结点的双亲指针指向该结点的父结点

树形结构

现在我们从定义出发,对并查集做出了一个更详细的介绍,下面我们继续来看一下并查集这种数据结构的三要素。

二、逻辑结构

并查集在逻辑上是由各棵不相交的子集组成的集合,子集中的元素在逻辑上呈现树形结构,每棵树的根结点作为子集的代表元素。

三、存储结构

在上一篇内容中,我们介绍了两种并查集的存储结构——顺序存储和链式存储。

但是上一篇的介绍是基于我们对并查集的初步理解而实现的,因此上一篇中提到的两种存储方式显然不能更加准确的表示并查集。

那对于并查集这个数据结构,我们又应该使用怎样的存储结构呢?下面我们就来分析一下;

3.1 树与森林的存储结构

在树与森林中,常用的存储结构有3种:

  • 双亲表示法:通过顺序存储实现,每个结点中存放结点数据信息与双亲位置信息;
//双亲表示法
typedef struct ParentNode {ElemType data;	// 数据域int parent;		// 双亲域
}PNode;//双亲结点
typedef struct Parent {PNode* list;//通过顺序表实现int n;//结点数量
}PTree;//双亲树
  • 孩子表示法:通过顺序表+链表实现,每个结点中存放结点数据与指向孩子链表的指针,孩子链表中存放孩子的位置信息;
//孩子表示法
typedef struct ChildNode {int pi;//孩子位置信息struct ChildNode* next_child;//孩子指针
}CNode;//孩子结点
typedef struct ParentNode {ElemType data;//结点数据域CNode* child;//孩子指针域
}PN;//双亲结点
typedef struct ChildTree 
http://www.dtcms.com/wzjs/487548.html

相关文章:

  • 百度 手机网站 友好性正版seo搜索引擎
  • wordpress文章能发链接吗seo研究学院
  • 郑州网站建设知识分享宁波seo外包引流推广
  • 做网站用什么软件最简单中国法律服务网app最新下载
  • 公司网站主页图片百度网站推广怎么做
  • 网站制作模板免费下载app优化建议
  • 网站正在建设中的代码网站统计
  • 兰州网站建设加王道下拉网站推广软件有哪些
  • linux建网站关键词搜索排名推广
  • 苏州做管网gis的网站青岛seo招聘
  • 营销网站的问题与优势最经典的营销案例
  • 实验室建设供应商网站自己建网站要多少钱
  • 网站框架类型网站建设网站推广
  • 现在去成都需要隔离吗?百度seo收录软件
  • 有没有做网站源代码修改的自己在家做电商
  • 营销型网站建设要点申请自己的网站
  • 网站具有购买功能需要怎么做seo待遇
  • 做国际贸易用什么网站长春网络科技公司排名
  • 网站怎么做宣传网站分析报告
  • 设计方案审核合格后由谁签字确认宁波seo网络推广定制多少钱
  • 世界各国o2o响应式网站在线搜索资源
  • 制作公司网站设计要求百度站长工具数据提交
  • 做彩铃的网站重庆电子商务seo
  • 课程网站如何建设方案网络推广经验
  • 公司网站流量大 怎么办steam交易链接在哪里看
  • 优质做网站哪家好深圳网站公司排名
  • 做网站用php还是python关键词优化推广公司哪家好
  • 秦皇岛做网站公司汉狮价格如何建立网站
  • 网站后台管理器怎么做微信营销方法
  • 做网站图片无法显示的原因百度发布