概述

定义

树是计算机中非常重要的一种数据结构,树是由n(n>=1)个有限结点组成的一个具有层次关系集合。之所以叫成树,是因为它看起来像一颗倒过来的树,根朝上,树叶朝下。

相关术语

(1)每个结点有0个或多个子结点;
(2)父结点:就是结点的父亲,当前结点的上个结点。
(3) 没有父节点的结点为根结点,例如上图中的A结点就是根结点
(4)每一个非根结点只有一个父结点。
(5)子树:每个结点及其后代整体上可以看做是一棵树,称为当前结点的父结点的一个子树
(6)结点的度:一个结点含有的子树的个数。例如上图中的A结点的度为6,其子树有(B,C,DH,EIJPQ,FKLM,GN),F结点的度为3,其子树有(K,L,M)
(7)叶结点:度为0的结点,也叫作终端结点。例如:B结点,C结点,H结点等
(8)分支结点:度不为0的结点,也叫非终端结点。例如:A结点,E结点等
(9)结点的层次:从根结点开始,根结点的层次为1,更的直接后继层次为2,依次类推。这里结点A的层次为4层
(10)结点的层序编号:将书中的结点按照从上层到下层,同层中从左到有的次序排成一个线性序列,把他们变成连续的自然数。
(11)树的度:树中所有结点的度的最大值。例如上面这棵树的度为6
(12)数的深度:树中结点的最大层次,这棵树的深度为4
(13)森林:m(m>=0)个互不相交的树的集合。将一棵非空树的根结点删除,树就变成了森林。
(14)孩子结点:从字面也可理解,就是一个结点的直接后继结点称为该结点的孩子结点。
(15)双亲结点(父结点):一个结点的直接前驱称为该节点的双亲结点
(16)兄弟结点:同一双亲结点的孩子结点间称为兄弟结点。例如父结点为F的子树中,K,L,M之间互称为兄弟结点。

数据结构与算法(java):树的基本概述相关推荐

  1. 0302Prim算法-最小生成树-图-数据结构和算法(Java)

    文章目录 1 Prim算法 1.1 概述 1.1.1 算法描述 1.1.2 数据结构 1.1.3 横切边集合维护 1.2 延时实现 1.2.1 实现代码 1.2.2 性能分析 1.3 即时实现 1.3 ...

  2. 数据结构和算法(Java)-张晨光-专题视频课程

    数据结构和算法(Java)-579人已学习 课程介绍         如果说各种编程语言是程序员的招式,那么数据结构和算法就相当于程序员的内功. 想写出精炼.优秀的代码,不通过不断的锤炼,是很难做到的 ...

  3. 数据结构与算法-java笔记一 更新中

    数据结构与算法-java笔记一 更新中 数据结构与算法 什么是数据结构.算法 数据结构学了有什么用: 线性结构 数组 特点 应用 链表 存储结构 链表类型 单链表 双向链表 双向循环链表 链表与数组的 ...

  4. 视频教程-内功修炼之数据结构与算法-Java

    内功修炼之数据结构与算法 2018年以超过十倍的年业绩增长速度,从中高端IT技术在线教育行业中脱颖而出,成为在线教育领域一匹令人瞩目的黑马.咕泡学院以教学培养.职业规划为核心,旨在帮助学员提升技术技能 ...

  5. 02优先队列和索引优先队列-优先队列-数据结构和算法(Java)

    文章目录 1 概述 1.1 需求 1.2 优先队列特点 1.3 优先队列分类 1.4 应用场景 1.5 相关延伸 2 说明 3 索引优先队列 3.1 实现思路 3.2 API设计 3.2 代码实现及简 ...

  6. 二叉查找树(1)-二叉树-数据结构和算法(Java)

    文章目录 1 前言 1.1 二叉查找树定义 1.2 二叉查找树的性质 2 基本实现 2.1 API 2.2 实现代码 2.2.1 数据表示 2.2.2 查找 2.2.3 插入 3 分析 4 有序性相关 ...

  7. 数据结构与算法Java(二)——字符串、矩阵压缩、递归、动态规划

    不定期补充.修正.更新:欢迎大家讨论和指正 本文以数据结构(C语言版)第三版 李云清 杨庆红编著为主要参考资料,用Java来实现 数据结构与算法Java(一)--线性表 数据结构与算法Java(二)- ...

  8. 数据结构与算法——AVL树类的C++实现

    关于AVL树的简单介绍能够參考: 数据结构与算法--AVL树简单介绍 关于二叉搜索树(也称为二叉查找树)能够參考:数据结构与算法--二叉查找树类的C++实现 AVL-tree是一个"加上了额 ...

  9. 数据结构与算法--B树原理及实现

    B树 前几篇文中讨论的数据结构我们都是假设所有的数据都存储在计算机的主存中.可说总要那么海量的数据需要通过个中数据结构去存储,我们不可能有这么多内存区存放这些数据.那么意味着我们需要将他们放磁盘.所以 ...

  10. 《数据结构与算法》——树与二叉树之遍历总结

    <数据结构与算法>--树与二叉树之遍历总结 树与二叉树部分计划分为三次进行复习总结,第一次为基本概念和二叉树的遍历,第二次内容为线索二叉树以及树和森林,第三次为树与二叉树的应用. 目录 & ...

最新文章

  1. 我要做一个合格的网络工程师
  2. 数据中心液体冷却方案正在兴起的五大原因
  3. php商品分类显示商品,ecshop首页显示全部商品分类的方法
  4. 第03课:Anaconda 与 Jupyter Notebook
  5. 台湾大学林轩田机器学习基石课程学习笔记2 -- Learning to Answer Yes/No
  6. wxWidgets:wxStdOutputStreamBuffer类用法
  7. Unity3D基础23:TrailRenderer特效
  8. C语言:从键盘输入三个数,求最值问题
  9. Eclipse 添加 JD-eclipse 反编译插件
  10. hibernate二级缓存(二)二级缓存实现原理简单剖析
  11. AR.js摄像头前置的问题(已解决)(H5调用摄像头)
  12. 数据库技术与应用习题2
  13. Python实现excel重复值计数/记录小白第一次学习
  14. 简易前端路由-点击菜单切换到对应的信息栏
  15. python房价预测_python房价预测
  16. 水果忍者(数学 叉积)
  17. 分享一个干货满满的网址导航
  18. Python版打字练习软件源代码,键盘练习软件源代码,含娱乐模式和训练模式
  19. [京东实践干货]手把手教你实现「京喜工厂」的CSS动画效果
  20. 客户管理是企业利润的根本,企业如何进行客户管理呢?

热门文章

  1. 2024软件工程考研之《软件工程导论》专业课复习
  2. 现代操作系统 Andrew S. Tanenbaum,Herbert Bos
  3. 全球征集 | “Kaleidoverse 万千灵境”元宇宙作品设计大赛
  4. html如何自动转到ie打开,在HTML怎么修改代码以达到在点击超链接时默认以IE浏览器打开?...
  5. 更新了VMWare Tools后还是不能开启3D加速
  6. 通关大一编程实践,用C++基础和Qt实现FlappyBird小游戏
  7. 解决 ‘for‘ loop initial declarations are only allowed in C99 mode
  8. WINDOWS7任务栏下面的网络图标去“打开或关闭系统图标”发现它默认关闭了且呈灰色状态,怎么打开?
  9. fw:[Odysseus Ithaca]南京中兴软创科技股份有限公司介绍
  10. C语言游戏---小猫钓鱼