1.数据结构-二叉树

二叉树是什么

   二叉排序树(Binary Sort Tree),又称二叉查找树(Binary Search Tree),亦称二叉搜索树.是数据结构中的一类.在一般情况下, 查询效率大于等于链表,插入效率低于链表. 二叉树查询修改时间复杂度【O(logn)-O(n)】,链表查询时间复杂度【O(n)】,链表修改时间复杂度【O(n)】,链表插入时间复杂度【O(1)】.

1.满二叉树形态图

2.偏二叉树形态图

 

二叉树定义

       一个节点有或无左右叶子节点的数据结构,二叉树不好定义,重在分析二叉树特点。 ps:叶子节点就是没有子节点就算树的叶子节点

二叉树性质

1.左子树上所有结点的值均小于或等于它的根结点的值.

2.右子树上所有结点的值均大于或等于它的根结点的值.

3.左子树上所有结点的值均小于它右节点的值.

二叉树特点

1.非空二叉树第 i 层上至多有 2i 个结点(i ≥ 0)

2.高度为 k 的二叉树至多有 2k-1 个结点(k ≥ 0)

3. 满二叉树里的叶结点比分支结点多一个。

4. 满二叉树高度:n个结点的完全二叉树的高度 k = log(n+1)

二叉树查找遍历

       3.二叉树遍历图

        

图3.二叉树遍历方式如下

先序遍历:考察到一个节点后,即刻输出该节点的值,并继续遍历其左右子树。(根左右)

中序遍历:考察到一个节点后,将其暂存,遍历完左子树后,再输出该节点的值,然后遍历右子树。(左根右)

后序遍历:考察到一个节点后,将其暂存,遍历完左子树,在遍历右子树后,再输出该节点的值。(左右根)

 

       下面是其中的遍历结果

先序遍历:1 2 4 6 7 8 3 5 开始遍历节点:1
中序遍历:4 7 6 8 2 1 3 5 开始遍历节点:4
后序遍历:7 8 6 4 2 5 3 1 开始遍历节点:7


二叉树总结

二叉树是所有树结构的基础,也是最简单的树结构,在平衡的情况下,其性能比较好,时间查询复杂度为 O=logN,但是如果二叉树不平衡的情况下,其查询时间复杂度为 O=O(n),从数据结构与算法的角度讲二叉树是一种不稳定的数据结构,在实际使用中比较少,但是二叉树作为一种理解其他数据结构的入门基础是比较好的。

二叉树代码实现

    git实现地址【目前未实现,待更新】       

 

参考地址

  1. 各类数据结构优劣对比

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值