50 # 树的概念

简介: 50 # 树的概念

讲完了链表下面了解树的数据结构,它非常的重要。

树型结构

常见的树形结构有二叉树和多叉树(大于两个叉的树)。

开发中常见的树形结构有:文件夹目录、DOM 结构、路由的配置…

常见的概念

  • 节点:根节点、父节点、子节点、兄弟节点
  • 子树:左子树、右子树,子树的个数称之为
  • 叶子节点:度为 0 的节点,非叶子节点:度不为 0 的节点
  • 节点的深度:从根节点到当前节点所经过的节点总数
  • 节点的高度:从当前节点到最远叶子节点经过的节点总数
  • 树的层数、树的高度、树的深度
  • 有序树:节点按照顺序排列,无序树

二叉树

二叉树是每个节点最多有两个子树的树结构,每个节点的度最多为 2,通常子树被称作左子树left subtree)和右子树right subtree),左子树和右子树是有顺序的

二叉树的常见概念

  • 真二叉树:不含一度节点的二叉树称作真二叉树(proper binary tree
  • 满二叉树:满二叉树也是真二叉树,且所有的叶子节点都在最后一层
  • 完全二叉树:深度为 k 的有 n 个节点的二叉树,对树中的节点按从上至下,从左至右的顺序进行编号,如果编号为 i ( 1 ≤ i ≤ n)的节点与满二叉树中编号为 i 的节点在二叉树中的位置相同,则这棵二叉树称为完全二叉树。

什么是二叉搜索树?

一般情况下存储数据我们可以采用数组的方式,但是从数组中检索数据的时间复杂度是 O(n),如果数据存储有序,则可以采用二分查找的方式来检索数据,复杂度为 O(logn),但是如果操作数组中的数据像增加、删除默认数组会产生塌陷,时间复杂度为 O(n)

二叉搜索树也称为二叉查找树或二叉排序树,在二叉搜索树中查询、增加、删除复杂度最坏为 O(logn),特性是当它的左子树不空,则左子树上所有节点的值均小于它的根节点的值,当右子树不空,则右子树所有节点的值均大于它的根节点的值。

目录
相关文章
|
8月前
|
存储 算法
树(Tree) - 概念与基础
树(Tree) - 概念与基础
164 2
|
算法 C语言
【数据结构与算法】树、二叉树的概念及结构(详解)(上)
【数据结构与算法】树、二叉树的概念及结构(详解)(上)
|
存储 知识图谱
【数据结构】树和二叉树的概念及结构(一)
【数据结构】树和二叉树的概念及结构(一)
97 1
树和二叉树的概念以及结构
树和二叉树的概念以及结构
|
3月前
|
存储
二叉树的概念和结构
二叉树的概念和结构
74 0
|
6月前
|
存储
【数据结构】树和二叉树的概念及结构
数据结构——树和二叉树的概念及结构
104 3
【数据结构】树和二叉树的概念及结构
|
7月前
|
存储 算法
【树】数据结构——树和二叉树的概念&笔记
【树】数据结构——树和二叉树的概念&笔记
|
7月前
|
机器学习/深度学习 存储 算法
数据结构和算法学习记录——树(基本介绍、树的定义、树的特点、树的一些基本术语、树的表示、儿子-兄弟表示法)
数据结构和算法学习记录——树(基本介绍、树的定义、树的特点、树的一些基本术语、树的表示、儿子-兄弟表示法)
134 0
|
8月前
|
存储
数据结构-树的介绍、树的定义和基本术语
树是一种非线性的数据结构,是以分支关系定义的层次结构,比如人类社会中的族谱、及各种机制、组织的关系都可以用树形象的表示。重点学习二叉树的存储和相关操作,还要讨论树、森林、二叉树的转换关系。
127 0
|
存储 算法
【数据结构与算法】树、二叉树的概念及结构(详解)(下)
【数据结构与算法】树、二叉树的概念及结构(详解)(下)