【概述】

树是一种非线性的、递归定义的有序数据结构,能很好地描述有分支和层次特性的数据集合。

二叉树是树的一种形态,是 n 个结点的有限集合,该集合或为空集(空二叉树),或由一个根结点与两棵互不相交的,称为根结点的左子树右子树的二叉树构成。

树与二叉树是最基本的树形结构,掌握好树与二叉树,对后续树形结构的学习有极大的帮助。

关于树:点击这里

关于二叉树:点击这里

【相关算法】

常见的树的相关算法有以下几种:

  • 二叉树的遍历:点击这里
  • 无根树转有根树:点击这里
  • 树的直径:点击这里
  • 树的中心:点击这里
  • 树的重心:点击这里

为便于测试数据,下面给定一个树的数据生成器:点击这里

【例题】

1.树

  1. 找树根和孩子(信息学奥赛一本通-T1336)(树的遍历):点击这里
  2. T-decomposition(CF-237D)(特殊形态树的建立):点击这里

2.二叉树

  1. 小球(信息学奥赛一本通-T1363)(二叉树结构):点击这里
  2. 对称二叉树(信息学奥赛一本通-T1368)(二叉树结构):点击这里
  3. 查找二叉树(信息学奥赛一本通-T1367)(二叉树中序遍历):点击这里
  4. 求后序遍历(信息学奥赛一本通-T1339)(先序中序求后序):点击这里
  5. 二叉树遍历(信息学奥赛一本通-T1364)(中序层序求先序):点击这里
  6. 二叉树输出(信息学奥赛一本通-T1366)(先序中序建二叉树):点击这里
  7. FBI树(信息学奥赛一本通-T1365)(后序遍历建二叉树):点击这里
  8. 扩展二叉树(信息学奥赛一本通-T1340)(扩展二叉树的遍历):点击这里
  9. Naughty Stone Piles(CF-226B)(k叉霍夫曼树):点击这里

3.树的相关算法

  1. Farthest Nodes in a Tree(LightOJ-1094)(树的直径):点击这里
  2. 树的直径(51Nod-2602)(树的直径):点击这里
  3. 医院设置(信息学奥赛一本通-T1338)(树的中心变形):点击这里
  4. Sonya and Ice Cream(CF-1004E)(树的中心+滑动窗口):点击这里

树形结构 —— 树与二叉树相关推荐

  1. 树形结构—树和二叉树

    文章目录 概述 一.树的定义 二.树的基本术语 三.为什么要研究二叉树 四.二叉树和树的区别 五.二叉树的定义 六.二叉树的不同形态 小结 概述 其实,生活中树型结构有很多应用,比如:自然界中的树,人 ...

  2. 树形结构 —— 树与二叉树 —— 树的中心

    [概述] 树的中心问题是指:当给出 n 个结点与 n-1 条边后,要选定一个点作为整棵树的根结点,使得从该点到每个叶结点的最长路径最短. 树的中心问题主要有两种方法:DFS/BFS 进行搜索.树形 D ...

  3. 树形结构 —— 树与二叉树 —— 树的直径

    [定义] 给定一棵树,树中的每条边都有一个权值. 树中两点的距离:连接两点的路径边权之和 树的直径:树中最远的两个节点之间的距离 树的最长链:连接树中最远的两个结点的路径 [实现] 树的直径通常有两种 ...

  4. 树形结构 —— 树与二叉树 —— 树的重心

    [概述] 树的重心也叫树的质心,对于一棵具有 n 个结点的无根树,找到一个点,使得将树变为以该点为根的有根树时,最大子树的结点数最小. 简单来说,就是给定一棵 n 个点的树,当删除某点 x 后,使得最 ...

  5. 树形结构 —— 树与二叉树 —— 树的数据生成器

    为方便测试数据,给出一个树的数据生成器. 树的结点为 1~10 个,边权为 1~100,各点编号随机化 struct Edge {int x, y;int dis; } edge[N]; int n, ...

  6. 树形结构——树的直径

    树的直径的定义  树的直径:树上最远两点(叶子结点)的距离. 树的直径的求法 例题:[模板]树的直径 两遍暴力dfs 引理:对于树上任意一点 P P P,找到离它最远的节点 Q Q Q.在找到离节点 ...

  7. 树形结构:二叉树,分治,合并子树,递归

    我们学习树的时候,一些地方用到了递归,但是可能没意识到这里面都是分治的思想 ============================================================== ...

  8. 树形结构(1)(Java语言)——树的基本概念

    树的基本概念 前言 树形结构 树的概念 树的特点 树的其他概念(重要) 树的表现形式 树的应用 前言 前面的学习中,我们了解了顺序表,栈,队列等.这些都属于线性结构,就像一根线一样串起来,而接下来我们 ...

  9. 数据结构 | 3.树与二叉树

    在 栈和队列 一文中提到,栈可以处理具有 完全包含 关系的问题. 而树分为两部分:结点 和 边.结点可以理解为集合,边称为关系.树的根结点就叫做全集,子节点叫做子集,子集并起来就得到了全集. 根结点就 ...

最新文章

  1. ACM Computer Factory
  2. 初识Mysql(part17)--我需要知道的3条Mysql语句之联结
  3. BuddyPress安装指南
  4. binlog日志_mysql的binlog日志的自动定时清理
  5. 一文看尽 JVM GC 调优
  6. 打脸!《陈情令》付费资源遭泄漏 腾讯视频说好的技术保障呢?
  7. 行测(爆发篇)之语句表达,像说话一样自然
  8. 自动驾驶——多传感器融合的学习笔记
  9. 一种用于亚洲大豆锈病黄化和坏死严重程度评估的自动植物病理测量系统
  10. 计算机一级考试搜题app,计算机一级考试题库答案,哪个搜题软件能找到?
  11. C/C++函数库 之 ctype.h
  12. Java实现支付功能(支付宝)
  13. 语音转文字软件哪个好,这三款值得收藏
  14. LaTex学习教程——插入较复杂的表格(合并、换行以及加标题)
  15. java商城源码视频教程_Java商城秒杀系统设计视频教程学习下载(含项目源码)...
  16. 为什么CPU需要时钟才能工作
  17. python 股票数据挖掘_python数据分析之股票实战
  18. 大三寒假实习了半个月很困惑
  19. webservice课件
  20. 修改数据表字段类型与字段名字

热门文章

  1. 初秋 · 外婆家的茶山 · 快乐的味道 2012年9月
  2. JavaEE实战班第十七天
  3. 盘点云计算领域不可不读的9本书
  4. 诺基亚:你以为他死了,他却靠这一点重回世界第二
  5. STM32之外部中断原理
  6. 知道创宇杨冀龙:2B产品经理的自我修养
  7. JeecgBoot 2.4 微服务正式版发布,基于SpringBoot的低代码平台
  8. 关于freemarker的classic_compatible属性的使用场景和解决
  9. 解决ubuntu下pdf中文不显示或乱码问题
  10. 未来客:人人都可以构建软件或系统