各种常见查找方法的性能小结

自己的理解:

1)我们平时说的时间复杂度都是指最坏情况下的运行时间的增长数量级即没有特殊说明都是指的是最坏时间复杂度。

2)二分查找的查找速度较快是O(logN)级别,但是插入时,因为基于数组结构,插入数据的时候要移动,所以是O(N)级别。想到我们常见的链表,它的插入较快,但是无法使用二分查找,而二叉查找树可以将二叉查找和链表的优势结合起来,在平均情况下(树平衡时),二分查找树的查找和插入都是对数级别的。但是如果二叉查找树是极端不平衡的,此时就变为了链表,这时的插入和查找都变为了O(N)级别,为了解决这个问题,引入了红黑树,它其实就是可以理解为平衡的二叉树,可以保证查找和插入都是对数级别的。

猜你喜欢

转载自blog.csdn.net/chenkaibsw/article/details/80783757