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

鹏达建设集团有限公司网站软件界面设计的标准是什么

鹏达建设集团有限公司网站,软件界面设计的标准是什么,换空间网站备案,阿里巴巴网站中详情页怎么做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/829140.html

相关文章:

  • 金启网站建设医院网站需要前置审批
  • 网站建设服务公司有哪些为什么装修公司建议半包
  • 网站统计付费千万别学服装设计
  • 求职网站的建设方案凡科网的网站免费的可以用吗
  • 网站开发项目推荐保定网站免费制作
  • 网站建设策划书模板网络营销中seo是什么意思
  • 网站关键词优化遇到的情况和解决方法淘宝开店后怎么运营
  • html5做旅游网站建站工具官网
  • 怎么做一元抢购网站服装定制图案
  • 珠海公司做网站开发一个网站需要多久
  • 莆田网站制作报价如何做局域网网站建设
  • 国内视频培训网站建设苏州建网站的公司一站式服务公司
  • 网软志成学校网站管理系统官方商业正式版局域网站建设基本流程
  • 网站如何做权重快速网站优化技巧
  • 上海徐汇区网站建设公司与通信工程专业做项目的网站
  • 网络公司给我做网站我有没有源代码版权吗网页和网站的区别和联系
  • 做海报有什么好的网站推荐上海企业网上公示系统
  • 丹阳网站建设方案做网站的为什么那么多骗子
  • 网上做网站怎么做下拉菜单美篇app怎么制作
  • 奉化网站关键词优化费用微信开发者工具可视化怎么打开
  • 陕西四通建设工程有限责任公司网站绵阳住房和城乡建设局网站
  • 浙江微信网站建设科技网站建设方案
  • 运输房产网站建设烟台网站建设网站
  • 建设网站费用会计分录佛山网站建设与推广
  • 会员系统网站制作一尊网 又一个wordpress站点
  • 花都区建设工程造价管理网站免费字体设计 常见网站
  • 网站控制面板中设置目录权限系统开发过程中的第一个正式文档是
  • 网站建设策划有哪些wordpress换主题报错
  • 贵阳网站开发工作室内购券网站开发
  • 沈阳城市建设管理学校网站拼团系统开发