数据结构 第六章(学习笔记一(树))

本文介绍了树这一重要的数据结构,包括树的定义、实际应用、逻辑表示和基本术语。树在JAVA8的HashMap扩容、数据库索引等方面有广泛应用。逻辑表示包括树形、文氏图、凹入和括号表示法。节点的度、路径长度、孩子节点、双亲节点、兄弟节点等概念被详细解释,同时讨论了树的层次、高度和森林的概念。最后,概述了树的遍历和存储结构,如先根、后根和层次遍历,以及双亲、孩子链和孩子兄弟链存储方式。
摘要由CSDN通过智能技术生成

树的概念

树的定义

树的形式化定义: T = {D, R} (D表示 数据对象,R 表示数据关系)
D是包含n个节点的有限集合(n≥0)。当n = 0时为空树,否则关系 R 满足以下条件:
① 有且仅有一个节点 d0 ∈ D,它对于关系R来说没有前趋节点,节点d0称作树的根节点
② 除根节点外每个节点有且仅有一个前趋节点
③ D中每个节点可以有零个或多个后继节点
树的递归定义: 树是由n (n≥0)个节点组成的有限集合(记为T)。其中:
① 如果n = 0, 它是一棵空树,这是树的特例。
② 如果n > 0, 其中存在一个唯一节点作为树的根节点(root),其余节点可分为m(m≥0)个互不相交的有限子集T1、T2 、…、Tm,而每个子集本身又是一棵树 ,称为根节点root的子树。
树中所有节点构成一种层次关系。

树的实际应用

红黑树: JAVA8中的hashMap满足一定的阈值,自动扩容时会变为红黑树,treeMap,linux中的epoll模型,nginx中的Timer管理等。
B,B+树: 广泛用于数据库(mysql,oracle等)的索引。
字典树: 用于海量文本词频统计,查询效率比哈希表还高。
④ 生活中的树状结构有公司职级关系,国家省市区级联,族谱等等都有树结构形式.

树的逻辑表示

(1) 树形表示法: 使用一棵倒置的树表示树结构,非常直观和形象。

(2) 文氏图表示法: 使用集合以及集合的包含关系来描述树结构。

(3) 凹入表示法: 使用线段的伸缩关系描述树结构。

(4) 括号表示法: 用一个字符串表示树。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值