`
java-mans
  • 浏览: 11413465 次
文章分类
社区版块
存档分类
最新评论

排序算法之冒泡排序(Bubble Sort)

 
阅读更多

冒泡排序(Bubble Sort)

1.算法伪代码

for i = 1 : n
	swapped = false
	for j = n : i + 1
		if a[j] < a[j - 1]
			交换a[j]和a[j - 1]
			swapped = true
	排好序的数列:a[1...i]
	break if not swapped
end


2.算法过程
初始数列:5, 3, 2, 4, 1
i = 1
[
5, 3, 2, 1, 4
5, 3, 1, 2, 4
5, 1, 3, 2, 4
1, 5, 3, 2, 4
]

i = 2
[
1, 5, 3, 2, 4
1, 5, 2, 3, 4
1, 2, 5, 3, 4
]

i = 3
[
1, 2, 5, 3, 4
1, 2, 3, 5, 4
]

i = 4
[
1, 2, 3, 4, 5
]

swapped变量的作用是:当初始要排序的数列已经是有序的时候,只遍历一遍数列,就退出遍历循环

3.算法特性
稳定的
空间复杂度O(1)
时间复杂度:比较和交换的操作次数,O(n^2)

4.总结
冒泡排序和插入排序有很多相似的地方。但是比插入排序有稍多的开销。

分享到:
评论

相关推荐

    基于python的排序算法-冒泡排序Bubble Sort

    基于python的排序算法-冒泡排序Bubble Sort

    冒泡排序(Bubble Sort)

    冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来。走访元素的工作是...

    经典排序算法之冒泡排序(Bubble sort)代码

    主要介绍了经典排序算法之冒泡排序(Bubble sort)代码的相关资料,非常不错具有参考借鉴价值,需要的朋友可以参考下

    PHP排序算法之冒泡排序(Bubble Sort)实现方法详解

    本文实例讲述了PHP排序算法之冒泡排序(Bubble Sort)实现方法。分享给大家供大家参考,具体如下: 基本思想: 冒泡排序是一种交换排序,它的基本思想是:两两比较相邻记录的关键字,如果反序则交换,直到没有反序的...

    冒泡排序(Bubble Sort)是一种基本的比较排序算法 冒泡法排序c语言程序

    冒泡排序(Bubble Sort)是一种基本的比较排序算法,它的工作原理非常简单,但效率相对较低。冒泡排序的核心思想是多次遍历待排序的元素,比较相邻的两个元素,并将较大的元素向后交换,这样较大的元素会像气泡一样...

    冒泡排序算法_冒泡排序_

    C# 冒泡排序算法 bubble sort algorithm

    python冒泡排序(Bubble Sort).docx

    冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。 ...

    C 语言实现的冒泡排序(Bubble Sort)

    冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地遍历待排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。...

    经典算法的C#源码实现

    经典排序算法 - 冒泡排序Bubble sort 经典排序算法 - 选择排序Selection sort 经典排序算法 - 鸡尾酒排序Cocktail sort 经典排序算法 - 希尔排序Shell sort 经典排序算法 - 堆排序Heap sort序 经典排序算法 - ...

    Java排序算法实现:冒泡与选择排序示例代码

    冒泡排序(Bubble Sort) 是一种基本的排序算法,它通过多次遍历数组,比较相邻元素的大小并交换它们,从而使最大(或最小)的元素逐渐移动到数组的最后。冒泡排序的实现在Java中非常简单,通过嵌套的循环来实现相邻...

    scratch2源码Bubble Sort-冒泡排序算法

    sort,scratch2源码Bubble Sort-冒泡排序算法,sb2源文件内含冒泡排序算法代码有兴趣的同学可以下载研究

    C#-基于C#实现的冒泡排序算法-Bubble-Sort.zip

    C#_基于C#实现的冒泡排序算法_Bubble-Sort

    java基础冒泡排序.ppt

    冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。 走访元素的工作是重复...

    python-冒泡排序算法.docx

    Python 冒泡排序算法的实现 下面是 Python 冒泡排序算法的实现代码: ```python def bubble_sort(arr): n = len(arr) for i in range(n): for j in range(0, n-i-1): if arr[j] &gt; arr[j+1]: arr[j], arr[j+1] = arr...

    新弄的冒泡排序

    冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来。走访元素的工作...

    c语言实现冒泡排序(Bubble Sort)

    冒泡排序(Bubble Sort)是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成

    C#,冒泡排序算法(Bubble Sort)的源代码与数据可视化

    常见的四种排序算法是:简单选择排序、冒泡排序、插入排序和快速排序。其中的快速排序的优势明显,一般使用递归方式实现,但遇到数据量大的情况则无法适用。实际工程中一般使用“非递归”方式实现。本文搜集发布四种...

    冒泡排序算法原理讲解

    该 ppt 为课程讲义,讲解冒泡排序算法原理,及用一个简单实例进行具体分析,还有冒泡排序算法原理的总结等。

Global site tag (gtag.js) - Google Analytics