摘要:
常见的基础排序有选择排序、冒泡排序和插入排序。众所周知,他们的时间复杂度是 O(n\*n)。
但是,现在要重新认识一下基础排序算法,尤其是“插入排序”:在近乎有序的情况下,插入排序的时间复杂度可以降低到 O(n)的程度。
因此,在处理系统日志的任务中,因为日志记录是按照时间排序,但偶尔会有几条是乱序,此时使用插入排序再好不过。而对于高级排序算法,一个常见的优化就是利用插入排序做局部数据排序优化。 阅读全文
摘要:
文章图片存储在 ,网速不佳的朋友,请看 "《进击的堆:最大索引堆》" 或者 来我的技术小站 "godbmw.com" 1. 为什么需要索引堆? 堆结构的数据增删操作,需要 操作。虽然可以被优化成每次一次赋值,然而当元素类型是复杂数据机构(例如:类、浮点数、结构体等),赋值操作的消耗不容小觑。 因此, 阅读全文