查找算法和树总结

查找算法

二分查找:

主要是利用了树查找的思想,所以时间复杂度为树的深度,树的深度性质:具有n个结点的完全二叉树的深度为[log2n] + 1,由此导出二分查找的时间复杂度为O(logn),最好的情况就是O(1),刚好就在mid位置

二叉排序树查找:

最好O(logn),当数据时有序状态,达到最差,称为斜树,所以最差时间复杂度为O(n)

哈希查找:

如果没有碰撞的时候,时间复杂度为O(1),当数字发生全部碰撞时,有最差时间复杂度为O(n)

二叉排序树

最好O(logn),当数据时有序状态,达到最差,称为斜树,所以最差时间复杂度为O(n)

平衡二叉树(AVL):

平衡二叉树,是一种二叉排序树,平衡是因为它的每一个结点的左子树和右子树的高度差至少等于1。
由于二叉排序树在非平衡状态时的时间复杂度是O(n),最好的时候就是O(logn),而平衡二叉树就是为了解决二叉排序树的非平衡而产生的忙所以它的查找,插入,删除的时间复杂度都为O(logn)

红黑树:

红黑树基于平衡二叉树,它是一个自平衡的二叉排序树,所以红黑树的时间复杂度也是为O(logn)

b-tree,b+tree:

b树的时间复杂度也是和树的深度有关,所以为O(logn),但是由于b树的一个节点可以有多个n个关键字,所以相同节点的b树,高度会比其它动态查找树低很多。
b树:http://www.tuicool.com/articles/fYz6jy

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值