《数据结构与算法之美》专栏阅读笔记6——树

因为从看到写笔记,中间隔了好久,木有激情啊啊啊,但是立flag了丫,你看flag对我这样的人多有用。

二叉树

树啥的,差不多是不管看什么书都很不想看的一个章节了。

树的基本概念

节点:树结构中的每个元素都称作节点。
节点的高度:节点到叶子节点的最长路径
节点的深度:根节点到该节点所经历的边的个数
节点的层数:节点深度+1
树的高度:根节点的高度

二叉树的基本概念

二叉树:最多两个子结点。左子节点、右子节点
满二叉树:除了叶子节点外,每个节点都有左右两个子结点。
完全二叉树:最后一层的叶子节点都靠左排列,除了最后一层,其他层的节点个数都要达到最大。

二叉树的存储
链式存储

基于链表进行存储。每个节点三个字段,存储数据、左右子结点的指针。

顺序存储

基于数组进行存储。根节点存储在i = 1的位置,根节点下标为i,则其左子节点存储在下标为2*i的位置,右子节点存储在下标为2*i+1的位置。

二叉树的遍历

下面的描述都是左子树、右子树,不是左子节点、右子节点。
前序遍历:对树中的任意节点来说,先打印当前节点,再打印左子树,最后打印右子树
中序遍历:对树中的任意节点来说,先打印左子树,再打印当前节点,最后打印右子树
后序遍历:对树中的任意节点来说,先打印右子树,再打印当前节点,最后打印左子树

二叉查找树

为了实现快速查找,支持快速查找、插入、删除数据。
要求:在树中的任意一个节点,其左子树的每个节点的值小于该节点,右子树节点的值大于该节点。

实现

二叉查找树的插入、查找、删除、前序遍历、中序遍历、后序遍历,按层遍历的实现如下

public class BinSearchTree<T extends Comparab
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值