冒泡排序

发布日期:2023-08-04 11:00:00   来源 : bal    作者 :乐小管    浏览量 :48
乐小管 bal 发布日期:2023-08-04 11:00:00  
48

冒泡排序(Bubble Sort)

什么是冒泡排序

  冒泡排序是一种计算机科学领域的常用的较简单的排序算法。如何设计出复杂度尽可能低且函数复用性高的算法是算法效率和通用性的关键内容。

  它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行,直到没有相邻元素需要交换,也就是说该元素列已经排序完成。

冒泡排序的基本原理

  冒泡排序的基本原理是两两比较待排序数据的大小 ,当两个数据的次序不满足顺序条件时即进行交换,反之,则保持不变,这样每次最小(或最大)的结点就像气泡一样浮到序列的最前位置。设有 n 个数的序列,即数组 a(1)~a(n),要求按递增(或递减 )的顺序排列,则冒泡排序法的基本算法描述如下:

  (1)把 a(n)和 a(n一1)比较 ,如果 a(n)<a(n一1) (或 a(n)>a(n一1)),则把 a(n)和 a(n—1)的值交换。

  (2)再将 a(n一1)与 a(n一2)比较,如果 a(n一1)<a(n一2) (或 a(n一1)>a(n一2)),则把 a(n一1)和 a(n一2)的值交换。

  (3)按第(2)步的方法处理 a(n一2)、a(n一3)、a(n一4)、??、a(2)。

  (4)第(1)、(2)、(3)步组成一轮交换,交换完成后最小值(或最大值)被交换到 a(1)里。

  (5)重复第 (1)、(2)、(3)步进行第 2 轮 、第 3 轮、?? 、第n一1 轮交换。设轮数为 i,i= l、2 、3、⋯⋯、n一1,每交换一轮 ,次小值(或次大值)被交换到 a(i)里,所以每轮处理到 a(i+1)结束。n一1轮交换都完成后,数据按递增(或递减 )的顺序排列。



上一篇 : MapReduce
下一篇 : MPOA
关于我们
热门推荐
合作伙伴
免责声明:本站部分资讯来源于网络,如有侵权请及时联系客服,我们将尽快处理
Copyright © 2025-2027 ToB产业网址导航 公安备案 浙公网安备33010602013138号 浙ICP备16025413号-9
支持 反馈 订阅 数据