哈希表与树笔记(三)

查找算法  

     顺序查找

     二分查找(前提已经排序)  时间复杂度 LOG2(N)

            注意设计成左闭右开--区间无重复思想

 

排序算法

       快速排序    时间复杂度 N*LOG2(N)  (题外话:i++先算后增,++i先增后算)二叉树前序遍历(DLR)

              应用:数据量大且是线性结构  

              短板:大量重复数据或单向链式结构处理性能不好(一般不用于链式结构)

 

       归并排序  时间复杂度 N*LOG2(N)   二叉树后序遍历(LRD)

           用空间换时间

 

二叉排序树(查找树,搜索树)(LDR):

    性质:

        1)所有节点的左子树关键字值都比此节点的关键字值小

        2)所有节点的右子树关键字值都比此节点的关键字值大

        3)所有节点的左右子树都是二叉树

        4)没有重复值(代码实现时可忽略)

     二叉排序树删除节点(都要考虑节点是根节点的情况):

        1)节点是叶子(直接删除)

        2)节点只有左孩子

                  1--要删除的节点是左孩子(直接用节点的左孩子代替)

                                                                            

                 2--要删除的节点是右孩子(直接用节点的左孩子代替)

                                                                           

        3)节点只有右孩子

                1--要删除的节点是左孩子(直接用节点的右孩子代替)

                                                                            

                 2--要删除的节点是右孩子(直接用节点的右孩子代替)

                                                                           

        4)节点左右孩子都有(从右子树找节点最小值补上即该节点的后继节点)

               即将该节点的后继节点复制一份到该节点(保留原有节点的父亲和孩子,修改key和value值为后继节点的值),然后再删除原有后继节点(此时原有后继节点肯定没有左孩子    进行   3)1--步骤)

                

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值