zoukankan      html  css  js  c++  java
  • 关于二叉查找树的讨论+ 我的误解

    引:一句话(66)这个问题 没有考虑设计原因,还把一个知识点混起了。

    还有没有把书读懂。

     

    avl是一种二叉查找树

    没有二叉排序树说法(纠正书上bug

    线索树是为了非递归遍历设计

     

     

    Q:为什么要有二叉查找树

    Q:二叉查找树如何优化

    Q:查找树有哪些?

    Q:书上标题为什么那么设计?

     

    Q:如何不用递归取遍历树?//线索树就是

     

    其实 看了导论中 二叉排序树中序的前驱、后继,

     

    看懂了后继,对称比较,就知道前驱的结论

    看懂了后继,再说二叉查找的删除,关键操作就搞定了。

     

    不过心里还想了一个问题,

    对于二叉查找树问题 除了找到中序条件的前驱、后继,

     

    还能找到

    后序条件的前驱、后继吗

    前序条件的前驱、后继吗

     

     

    --------------------------------------------------------------------------------------

     

     

     

    A:比他小的,比他大的。//66补充,查找的目标。前序,后序不能查到。

     

    A:

    二叉排序树就是对应中序遍历 //用途

     

     

     

    A:问题其实是用在,跟查找树无关。

    就是线索二叉树

    线索二叉树不在查找的领域//仅仅是方便遍历的复用,我认为。

    利用线索二叉树可以非递归遍历。//66非递归!  翻翻书,原来遍历的需要

     

    //小结66:一棵树如果又能前序,中序,后序,那么他是为遍历设计的。

     

     

    A:

    avl就是二叉查找树的一种 //66这是基础啊,Eskimo mention it! bst avl b树为查找而生。

     

     

    //没有二叉排序树说法,书上说法kd

    A:

     

    3种二叉查找树,常见的

    avl rbt sbt          //66我也是才知道。

    sbt是中国少年发明的

    avl就是平衡二叉查找树的另一个名字而已 //66所以不要被书上标题kd

     

     

    A://平衡的意义!!不仅仅高度,是为了查找

     

    Eskimo - -,(282957606)  15:02:31

    你连avl和平衡二叉树的区别都不知道???

    Eskimo - -,(282957606)  15:02:52

    一根普通的二叉树平衡有任何意义吗???

    Eskimo - -,(282957606)  15:02:57

    服了,仔细看看书

     

     

     

    A:小结关系

    平衡二叉树就是优化过的二叉查找树,

    用一些辅佐手段保证查找插入删除的平均时间是logn级别的

     

    可不可以这么理解,就是因为二叉查找树最坏情况是o(n),

    所以我们用平衡二叉树去优化他,最后 最坏是 logN,这样就圆满了

     

    其实就是防止它退化成链

  • 相关阅读:
    把你的名字刻到IE上
    C#格式化字符串
    CEO、COO、CFO、CTO、CIO
    Net通用分页(可以选择页码的显示,且有中英选择)
    laravelmiddleware中间件常用使用方法
    laravel路由组中namespace的的用法详解
    qq自己设定动态图像视屏
    laravel实现excel表的导入导出功能
    git创建远程分支并推送
    jquery如何用Ajax将信息遍历到界面上
  • 原文地址:https://www.cnblogs.com/titer1/p/2646462.html
Copyright © 2011-2022 走看看