一、衡量排序算法的优劣:
- 时间复杂度:分析关键字的比较次数和记录的移动次数
- 时间频度:一个算法花费的时间与算法中语句的执行次数成比例,哪个算法中语句执行的次数多,它花费的时间就多。一个算法中的语句执行次数称为语句频度或时间频度。计为T(n)
2.空间复杂度:分析排序算法中需要多少辅助内存
二、冒泡排序
1.算法原理:
冒泡排序重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。
走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
2.数据交换的步骤演示:
3.代码实现
public static void bubbleSort(int[] array) {
int temp = 0;
boolean flag = false;
for (int i = 0; i < array.length - 1; i++) {
for (int j = 0; j < array.length - 1 - i; j++) {
if (array[j] > array[j + 1]) {
temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
flag = true;
}
}
if (!flag) {
break;
} else {
flag = false;
}
}
}
网友评论