首页 > 其他分享 >树论 基础

树论 基础

时间:2023-02-02 23:57:39浏览次数:67  
标签:遍历 后序 中序 树论 基础 二叉树 root 可以

本文包含树的定义,树的存储,树的遍历(包括定义,求法).

基础

  • 定义

我们把 \(n\) 个点, \(n-1\) 条边的图称为树.

  • 特别情况

对于树,存在部分情况,使其有着特殊的性质.

链:每个点只会链接一条边,我们称为链.

菊花图:点 \(u\) ,如果剩余的点都与 \(u\) 相连,我们称为菊花图.

二叉树:对于每一个节点,最多只有两个儿子,我们称为二叉树.又可以根据儿子的分布情况再次细分.等到后面再来介绍.

  • 存储
  1. 记录父亲,适合底部到顶部,几乎不使用.因为可以使用的信息太少了.
  2. 记录与其相连的节点.一般用链式前向星,有O2也可以vector

链式前向星不会的可以看这篇教程

  • 遍历

遍历分为先序,中序和后序.

注:这TM是二叉树,别搞混了!!!

先序:按照根,左,右来遍历.

中序:左,根,右

后序:左,右,根

还原: 根据这些遍历方式,我们可以通过遍历顺序推出原来的树.中序+前后序任意一个即可.前序+后序是不可以的!!!

我们令顶点为 \(root\). 可以发现,前序的第一个是 \(root\),后序最后一个是 \(root\).中序 \(root\) 在中间部分,左边为左儿子,右边为右儿子.我们先确定\(root\),然后再从中序中找到,再把左右儿子分别看成两颗新的树开始递归.递归完成即可.

除了序列遍历外,还可以通过 \(dfs\) 进行遍历.这样可以算出每一点的深度, \(dfs\) 序列等等...

标签:遍历,后序,中序,树论,基础,二叉树,root,可以
From: https://www.cnblogs.com/zhong114514/p/17087756.html

相关文章