Basic 1: Bubble_sort 冒泡排序
1.for (int i:arr) 使用方法,实现数组的逐个遍历
注释:
for (int i:arr){ //变量i就是对后面的数组逐一遍历的意思。
System.out.println(i+" ");
}
2.数组中断越界问题
总结:小细节处很容易出现纰漏,在0下标处要思考是否越界的问题。
3.倒序排列
4.Bubble_Sort优化版本
为什么需要对我们的冒泡排序做出一些改进呢?
时间复杂度o(n^2),如何降低我们的时间复杂度
试想一种情况,如果我们在某一趟,后面的数字已经排列有序,(体现形式:某一趟开始,数字没有发生交换了)我们还需不需要继续比较下去?
不需要,这也方便我们节省资源。
总结:在学习数据结构和算法的时候,1.我们需要关注到执行的逻辑,flag在if里面和外面概念就完全不同。2.性能优化,就需要找到关键的节点,比如 何时已经排序完毕。
参考文章:https://blog.csdn.net/u010853261/article/details/54891710
https://www.runoob.com/w3cnote/java-sorting-algorithm-analysis-and-implementation.html