
归并排序
冒泡排序核心是外层n-1轮遍历、内层每轮比较前n-i-1对相邻元素并交换,用std::swap和vector模板实现更安全;避免裸数组因长度退化导致越界,且不可用于生产环境。
冒泡排序核心是外层n-1轮遍历、内层每轮比较前n-i-1对相邻元素并交换,用std::swap和vector模板实现更安全;避免裸数组因长度退化导致越界,且不可用于生产环境。
SQL聚合底层主要有HashAggregate和Sort-Aggregate两种策略:前者基于哈希表,适合高基数、无序输入,内存充足时高效但输出无序;后者先排序再扫描,适合低基数、已排序输入或需有序输...
本文介绍一种高效、内存友好的方法,用于合并两个按时间排序的文本日志文件,在存在末尾-开头重叠时自动去重,同时严格保持原有时间顺序,避免全量读取或重复排序。
SQL聚合底层主要有HashAggregate和Sort-Aggregate两种策略:前者基于哈希表,适合高基数、无序输入,内存充足时高效但输出无序;后者先排序再扫描,适合低基数、已排序输入或需有序输...
TOPN排序用堆实现截断,时间复杂度O(logN),可借索引提前终止;全排序需全局有序,小数据用快排/归并,大数据用外部归并,强调稳定性与I/O优化。
归并排序核心是分治且非原地排序,需额外空间合并子数组;递归版有栈溢出风险,应设终止条件并小数组转插入排序;迭代版更安全但边界易错;泛化需适配迭代器与移动语义。
TOPN排序用堆实现截断,时间复杂度O(logN),可借索引提前终止;全排序需全局有序,小数据用快排/归并,大数据用外部归并,强调稳定性与I/O优化。
MySQL的ORDERBY实际按索引扫描或Usingfilesort分阶段执行:有匹配索引时直接有序输出,否则用sort_buffer排序;多字段逐级比较,NULL默认最小,禁用序号/别名排序,LIM...
MySQL的ORDERBY实际按索引扫描或Usingfilesort分阶段执行:有匹配索引时直接有序输出,否则用sort_buffer排序;多字段逐级比较,NULL默认最小,禁用序号/别名排序,LIM...