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

兰州做网站或小程序在线seo推广软件

兰州做网站或小程序,在线seo推广软件,马来西亚网站建设,免费网站访客qq统计系统关于树 树,在二叉树中已经介绍过来,这里就不过多介绍了 有序树和无序树 • 有序树:结点的⼦树按照从左往右的顺序排列,不能更改。 • ⽆序树:结点的⼦树之间没有顺序,随意更改。 比如下面的这两颗树 从有…

关于树

树,在二叉树中已经介绍过来,这里就不过多介绍了

有序树和无序树

• 有序树:结点的⼦树按照从左往右的顺序排列,不能更改。
• ⽆序树:结点的⼦树之间没有顺序,随意更改。

比如下面的这两颗树

从有序树的观点来看的话,B,C,D是有顺序的,顺序不一样,则这两颗树虽然孩子都是一样的,但是就属于不同的树

从无序树的观点来看,这两颗树只要根节点相同,管你顺序一不一样,都算作同一课树

在算法竞赛中,遇到的树基本上都是无序树

有根树和无根树

• 有根树:树的根节点已知,是固定的。
• ⽆根树:树的根节点未知,谁都可以是根结点。

在上面的两颗树当中,用有根树的观点来看的话,由于根是固定的,所以两颗树是不一样得,但是从无根树观点来看得话,因为谁都可以做根,所以这时候两颗树算是相同的树

在算法竞赛中,我们遇到的树一般都是无根树

树的孩子表示法

对于上面的孩子表示发起,只是关心孩子是谁,而不关心父亲是谁,但是这种表示方法,对于无根树来说,就不正确了,那我们如何来表示嘞?其实答案很简单,就把这个节点相连的节点全部表示出来

算法比赛中是如何给出树的结构的

虽然上面的图片告诉了1是根节点,但是对于2,5.......的节点,也不知到谁是根节点,谁不是根节点

用vector顺序表来是实现树的存储

 

在上面的图片中,我们创建一个vector数组,其中vector[i]就表示i号节点所链接的节点,在上面的上面的图片中,我们已经给出了比赛中给出的树的形式,所以用vector来实现的代码如下

#include<iostream>
#include<vector>
using namespace std;const int N=1e5+10;
vector<int> edge[N];int main()
{int n;cin>>n;          //输入节点的个数	while(n--){int x,y;cin>>x>>y;edge[x].push_back(y);edge[y].push_back(x); }	return 0;
}

链式前向星

所谓链式前向星就是用链表的方式来实现树的存储

代码实现

#include <iostream>using namespace std;// 链式前向星
int h[N], e[N * 2], ne[N * 2], id;
int n;
// 其实就是把 b 头插到 a 所在的链表后
void add(int a, int b)
{id++;e[id] = b;ne[id] = h[a];h[a] = id;
}
int main()
{cin >> n;for(int i = 1; i < n; i++){int a, b; cin >> a >> b;// a 和 b 之间有?条边add(a, b); add(b, a);}return 0;
} 

 这里e和ne数组里面的长度为什么是2*n嘞,因为就是如果有节点3-->4,你先要头插4,又有4-->3,你又要头插4。

http://www.lryc.cn/news/616437.html

相关文章:

  • 做阿里巴巴网站找谁手游推广去哪里找客源
  • 网站建设seo优化推广山东进一步优化
  • 本科专业建设网站google收录查询
  • 做pc端的网站首页尺寸是多少整站优化外包服务
  • 王野发动机怎么样win10优化大师
  • 做彩票的网站有哪些百度sem竞价推广电子书
  • 网站上传系统站长工具收录
  • 黄冈建设培训中心网站营销策划推广公司
  • 专业购物网站建设多少钱市场营销经典案例
  • 江苏宿迁最新疫情百度seo怎么提高排名
  • 服务器租用收费seo排名哪家公司好
  • 山西建设投资集团有限公司优化营商环境条例
  • 安宁网站建设 熊掌网站cms
  • 怎么做卖卷网站网络推广需要花多少钱
  • 泉州网站建设公司什么是淘宝搜索关键词
  • wordpress自定义htmlseo搜索优化专员招聘
  • NY155NY170美光固态闪存NY175NY184
  • Java进阶之单列集合Set接口下的通用方法
  • 安全运维的核心
  • windows运维
  • 消息队列系统测试报告
  • [ JDBC ] java 数据库连接
  • 应对高并发 - TCP/IP网络栈核心参数调优
  • (三)全栈(部署)
  • 滚动条开始滚动时,左侧导航固定,当左侧内容触底到footer时左侧内容取消固定并跟随滚动条滚动
  • Vue3入门到精通:2.4 Vue3动态组件与异步组件深度解析
  • 【Redis】持久化方案——RDB和AOF
  • RK3588在YOLO12(seg/pose/obb)推理任务中的加速方法
  • Kafka消费者相关原理
  • 纳维 - 斯托克斯方程的存在性与光滑性:流体世界的千年谜题