树——前序

树的总结:

  • 概念(前序)
    • 树的作用
    • 二叉树
    • 完全二叉树
    • 代码(golang)——实现树结构基本定义
  • 二叉排序树(二叉查找/搜索树)
  • 平衡二叉树AVL
  • 红黑树
  • 线索二叉树(了解)
  • 赫夫曼树
  • B树(数据库)
  • B+树(索引)
  • 最小生成树

概念:

1、为什么存在树结构

        相比于数组与链表:

                数组的查询速度快O(1),但是删除等操作慢O(n)

                链表的删除插入等操作快O(1),但是查询速度慢O(n)

        树结构在一定程度上起到综合作用

                查询时间复杂度(平均):O(logn)

                删除插入操作(不同树结构不同)

2、二叉树

        数据结构一般树结构,一般指 二叉树     
        根节点:头结点,树最上面的节点
        父节点、子节点:如果一个节点下面连接多个节点,那么该节点称为父节点,它下面的节点称为子 节点。
        叶子节点:没有任何子节点的节点称为叶子节点。
        兄弟节点:具有相同父节点的节点互称为兄弟节点。
        树的深度:从根节点开始(其深度为0)自顶向下逐层累加的。上图中,13的深度是1,30的深度是2,28的深度是3。
        树的高度:从叶子节点开始(其高度为0)自底向上逐层累加的。54的高度是2,根节点23的高度是3

3、完全二叉树

  二叉树的所有叶子结点都在最后一层或者倒数第二层,而且最后一层的叶子结点在左边连续,倒数第二层的叶子结点在右边连续,我们称之为全完二叉树。

 4、代码实现树

       二叉树 可以使用链表构成也可以使用数据:此处使用链表

     

// 定义二叉树结构
type LinkNode struct {
	val       int       //二叉树存储的数据
	leftNode  *LinkNode //左节点
	RightNode *LinkNode //右结点
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值