极客时间-算法训练营 学习笔记 2

一  序

    本文属于极客时间-算法训练营 学习笔记。

二树

作为铺垫,覃超老师先回顾了上节课的链表的特点。访问慢。跳表对他进行加速。如果吧一个指向延伸为多个指向,就有了树的概念。

看图可知,有些概念:根节点,子节点,关系:父子,兄弟,层级:level,左右,子树等。不展开。

树跟图的区别就是有没有环。

关于树的发散引申:

1, 斐波那契数列递归:本身扩展开就是状态树。

2. 实际生活中:以棋类为代表,从哪个第一颗棋子开始,不断的扩散,直到叶子节点(终态:赢、输、和),从树状空间寻求最优解。

树的遍历

树的遍历通常方式就是递归。简洁。

三 二叉搜索树

3.1 常见操作:

搜索

插入

删除:

时间复杂度为O(logN).

搜索的过程,利用了有序的特点。先和根节点相比,每次能减少一半的搜索量,所以时间复杂度跟二分查找一样。

插入的过程:找到节点应该存在的位置,

删除:

 a、叶子节点的删除

 b、根节点或者某子树的根节点(一般情况下找右子树中第一个和此节点相近的节点替换)

这里文字看起来不如看视频中动画容易理解。

下边为特殊情况:时间复杂度不是O(logn),   而是O(N)~ 相当于链表

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值