搞懂数据结构-树结构

本文详细介绍了树结构,特别是二叉树的概念和分类,包括顺序存储和链式存储方式,以及前序、中序、后序和层次遍历等操作。同时,讨论了不同类型的二叉树,如完全二叉树、平衡二叉树和排序二叉树等。
摘要由CSDN通过智能技术生成

搞懂树结构

1.什么是树结构

树结构是一种非常重要的非线性结构,反应了数据元素之间的层次关系和分支关系。

树的表示方法

  • 树型表示法

在这里插入图片描述

  • 文氏图表示方法

在这里插入图片描述

  • 凹入图表示法

在这里插入图片描述

  • 广义表表示法

(A(B1(C1,D1,E1),B2(C2),B3)

2.树的分类

根据树中节点的各子树从左到右是否有次序,能否交换分为

  • 有序树
  • 无序数

3.二叉树

二叉树并非是树的特殊情形,它和度数为2的有序树是两种不同的数据结构。

3.1二叉树的基本形态

  • 空二叉树
  • 只有一个根节点
  • 根节点只有左子树
  • 根节点只有右子树
  • 根节点既有左子树又有右子树

3.2二叉树的存储结构

二叉树的存储结构可分为顺序存储和链式存储。

顺序存储

二叉树的顺序存储结构就是把二叉树的所有结点按照一定的次序顺序存储到数组中,数组中只存储结点的值,结点之间的逻辑关系由数组中下标的顺序来体现。如果不是完全二叉树也会看成完全二叉树存入数组,空的子树存入空值。

节点的逻辑关系

在这里插入图片描述

顺序二叉树对于完全二叉树而言,既简单又节省存储空间,而对于一般二叉树存储了很多空节点会造成大量的存储空间的浪费。

链式存储

顺序存储一般二叉树会造成大量存储空间的浪费,因此,一般二叉树采用链式存储的方式。

存储节点:每个节点由数据域和两个指针域组成,指针分别指向左儿子和右儿子,如果左儿子为空,则左指针为null。

在这里插入图片描述

public class BinNode{
   
	//节点对象
    private Object element;
    private BinNode left;
    private BinNode right;
    public BinNode
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值