摘要: 冒泡排序的优化主要是三个点:1.使用异或运算,使元素交换时不用临时变量: array[j] ^= array[j + 1]; array[j + 1] ^= array[j]; array[j] ^= array[j + 1]; 2.在外部循环时,设置一个标记,如果整轮比较之后,内部元素交换都没有交 阅读全文
posted @ 2021-09-17 21:46 长江同学 阅读(288) 评论(0) 推荐(0) 编辑
摘要: 在之前的两篇blog中,已经简要的说明了冒泡排序和快排的原理、过程图示以及代码实现。这里主要讨论的是两种排序的复杂度以及一些常见的优化手段。 冒泡排序 【时间复杂度】 在整个序列完全是有序的状态下,只需要执行第一次的内层循环。只要做好标记,我们就不用再进行后续的内层循环。此时时间复杂度为O(n); 阅读全文
posted @ 2021-09-17 00:13 长江同学 阅读(1465) 评论(0) 推荐(0) 编辑