数据结构与算法 5.树
2021/10/30 9:09:53
本文主要是介绍数据结构与算法 5.树,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
树
树的基本概念 每个节点有0个或多个子节点 没有父节点的节点称为根节点 每一个非根节点有且只有一个父节点 除根节点外,每个子节点可以分为多个不相交的子树 一棵树可以没有任何节点,称为空树,可以只有1个节点,即根节点 节点、根节点、子节点、父节点、兄弟节点 子树、左子树、右子树 节点的度(degree):子树的个数 树的度:所有节点度中的最大值 叶子节点(leaf):度为0的节点 层数(level):根节点在第1层,根节点的子节点在第2层,以此类推 节点的深度(depth):从根节点到当前节点的唯一路径上的节点总数 节点的高度(height):从当前节点到最远叶子节点的路径上的节点总数 树的深度:所有节点深度中的最大值 树的高度:所有节点高度中的最大值 树的深度等于树的高度 有序树:树中任意节点的子节点之间有顺序关系 无序树:树中任意节点的子节点之间没有顺序关系,也叫自由树 森林:由m(m>=0)棵互不相交的树组成的集合 树的种类 二叉树:每个节点最多含有两个子树的树 完全二叉树:对于一棵二叉树,设其深度为d(d>1),除了第d层,其他各层的节点数均已达最大值,且d层所有节点从左向右紧密排列 满二叉树:所有叶节点都在最底层的完全二叉树 平衡二叉树(AVL树):任何节点的两棵子树的高度差不大于1的二叉树 排序二叉树(binary search tree):也叫二叉查找树 霍夫曼树:带权路径最短的二叉树,也叫最优二叉树,用于信息编码 B树:一种对读写操作进行优化的自平衡的二叉查找树,能够保持数据有序,拥有多于两个子树 常见应用场景: xml、html等,编写解析器时 路由协议 mysql数据库索引 文件系统的目录结构 很多AI算法都是树搜索,此外机器学习中的decision tree也是树结构
这篇关于数据结构与算法 5.树的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)
- 2024-05-30【Java】百万数据excel导出功能如何实现
- 2024-05-30我们小公司,哪像华为一样,用得上IPD(集成产品开发)?
- 2024-05-30java excel上传--poi
- 2024-05-30安装笔记本应用商店的pycharm,再安排pandas等模块,说是没有打包工具?
- 2024-05-29java11新特性
- 2024-05-29哪些无用敏捷指标正在破坏敏捷转型?
- 2024-05-29鸿蒙原生应用再新丁!新华社 入局鸿蒙
- 2024-05-29设计模式 之 迭代器模式(Iterator)