1.首先我们先测试以下,随机数目为10个,看看冒泡排序所用时间。
public class BubbleSort {
/**
* 创建日期:2017-3-24下午7:55:39 作者:lvguanghui
*/
public static void main(String[] args) {
/**
* 冒泡排序 思路:我们把不同的数字放到一个数组中 先比较第一个数字和后面的数字的大小,如果第一个数字大于后面的数字
* 那么两者之间进行交换位置,否则,不交换位置,继续比较第二个数字 和后面的数字之间的大小·······,直到比较完为止。
*/
int num=10;//随机数目
int[] a = new int[num];
for (int i = 0; i < num; i++) {
a[i] = (int) (Math.random() * 1000);
}
System.out.print("排序之前数组:");
for (int i = 0; i < a.length; i++) {
System.out.print(a[i] + " ");
}
System.out.println();
long start_time = System.currentTimeMillis();
System.out.println("当前系统毫秒:" + start_time);
// 比较的总次数;
for (int j = 0; j < a.length; j++) {
// 每次比较的次数
for (int i = 0; i < a.length - 1 - j; i++) {
int temp;
if (a[i] > a[i + 1]) {
temp = a[i + 1];
a[i + 1] = a[i];
a[i] = temp;
}
}
}
long end_time = System.currentTimeMillis();
System.out.println("当前系统毫秒:" + end_time);
System.out.println("冒泡排序所用时间:" + (end_time - start_time));
System.out.print("排序之后数组:" + " ");
for (int i = 0; i < a.length; i++) {
System.out.print(a[i] + " ");
}
}
}
2.如图所示
3.我们修改随机数目,修改为10000
分享到:
相关推荐
排序是数据处理的基础操作,包括冒泡排序、插入排序、选择排序、快速排序、归并排序等。这些算法各有优劣,适用于不同的场景。例如,冒泡排序简单但效率较低,适合小规模数据;而快速排序和归并排序在大数据量下表现...
排序算法是算法中的一大类,书中可能会包括冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序等。这些排序算法各有优劣,了解它们的工作原理和性能特点,能帮助我们在实际开发中选择最适合的排序方法。 ...
排序算法包括经典的冒泡排序、插入排序、选择排序、快速排序、归并排序以及希尔排序等,这些算法在实际编程中经常被用到,了解它们的工作原理和时间复杂度分析对于优化代码性能至关重要。搜索算法则可能包含线性搜索...
Java中常见的排序算法有冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序等。每种排序算法都有其优缺点,如时间复杂度、空间复杂度等,理解它们的工作原理有助于在实际开发中选择最合适的排序方式。 2. *...
- P1:可能涵盖了基础的排序算法,如冒泡排序和插入排序。 - P4:可能涉及了高级数据结构,如堆或平衡二叉搜索树(AVL或红黑树)。 - P9:可能讲解了图论的基本概念和图的表示方法,如邻接矩阵和邻接表。 - P10:...
常见的排序算法有冒泡排序、选择排序、插入排序、快速排序、归并排序和堆排序。每种算法都有其特点和适用场景,例如,冒泡排序适用于小规模数据,而快速排序则在处理大数据时表现出色。在Java和C语言中,实现这些...
1. 冒泡排序:一种简单的比较排序方法,通过不断交换相邻的逆序元素逐步将序列调整为有序。 2. 选择排序:每次从未排序的部分中找到最小(或最大)的元素,放到已排序部分的末尾。 3. 插入排序:将未排序的元素依次...
书中的算法可能包括排序(冒泡排序、插入排序、快速排序、归并排序、堆排序等)、搜索(线性搜索、二分搜索)、图算法(深度优先搜索、广度优先搜索)、动态规划等。算法的选择和优化直接影响程序的效率和性能。例如...
书中详细讲解了排序算法(如冒泡排序、选择排序、插入排序、快速排序、归并排序)、查找算法(如线性查找、二分查找)、图算法(如深度优先搜索、广度优先搜索)以及动态规划等高级算法。通过学习这些算法,读者可以...
在Java中,常见的算法包括排序算法(冒泡排序、选择排序、插入排序、快速排序、归并排序等)、搜索算法(线性搜索、二分搜索)、图算法(深度优先搜索、广度优先搜索)、动态规划、贪心算法等。例如,冒泡排序是一种...
算法则是解决问题的步骤和方法,常见的有排序算法(如冒泡排序、快速排序、归并排序、堆排序)、搜索算法(如深度优先搜索、广度优先搜索)、图算法(如Dijkstra最短路径算法、Floyd-Warshall所有对最短路径算法)、...
2. **排序算法**:常见的有冒泡排序、选择排序、插入排序、希尔排序、快速排序、归并排序、堆排序等。这些排序算法各有优缺点,适用于不同的场景。例如,快速排序通常在平均情况下具有较高的效率,而归并排序则在...
4. **排序与查找**:包括经典的排序算法(冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序等)和查找算法(线性查找、二分查找)。这些是任何程序员都应该掌握的基础知识。 5. **树结构**:书中会详细...
1. **排序算法**:冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序等,以及它们的时间复杂度分析。 2. **查找算法**:顺序查找、二分查找、哈希查找等,以及在不同数据结构中的应用。 3. **递归与分治**...
在Java中,算法可以分为搜索算法(如线性搜索、二分搜索)、排序算法(如冒泡排序、快速排序、归并排序)和图算法(如深度优先搜索、广度优先搜索)。理解并掌握这些算法能有效提高程序的效率和性能。 书中可能还会...
5. **排序**:常见的排序算法有冒泡排序、插入排序、选择排序、快速排序、归并排序、堆排序等。它们在实际编程中有着广泛应用,比如在数据库查询优化和数据分析中。 6. **搜索**:包括线性搜索、二分搜索、深度优先...
冒泡排序是简单直观的排序算法,书中通过Applet程序展示了冒泡排序的过程,帮助读者理解每一步的比较。此外,还会讲解插入排序、选择排序、快速排序、归并排序、堆排序等算法。 8. **查找算法**:包括顺序查找、二...
算法则是解决问题或执行任务的明确步骤,包括排序算法(如冒泡排序、快速排序、归并排序)、搜索算法(如线性搜索、二分搜索)、图算法(如深度优先搜索、广度优先搜索)等。这些算法的优化对于提升软件性能至关重要...
1. **排序算法**:包括冒泡排序、插入排序、选择排序、快速排序、归并排序、堆排序等。这些算法在数据处理中起着关键作用,理解它们的工作原理和时间复杂度对于优化程序性能至关重要。 2. **查找算法**:如二分查找...
8. **排序算法**:包括冒泡排序、插入排序、选择排序、快速排序、归并排序、堆排序等。理解各种排序算法的时间复杂度和适用场景至关重要,Java中的Arrays.sort()方法就是基于快速排序和归并排序的实现。 9. **搜索...