无极4平台地址-无极4平台主管-无极荣耀主管

    
当前位置:首页无极4平台地址正文
admin

暮光之城5,【算法】冒泡排序

  5个月前 (05-17)     267     0
简介:架构师修炼手册关注,看更多精彩文章冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法.这个算法的名字由来是......
架构师修炼手册
重视,看更多精彩文章




冒泡排序(Bubble Sort),是一种计算机科学范畴的较简略的排序算法。

这个算法的姓名由来是因为越大的元素会经由交暮光之城5,【算法】冒泡排序换帝锦渐渐“浮”到嗯深化数列的顶端(升序或降序排锦衣当朝列),就好像碳酸饮料中二氧化碳的气泡终究会上浮到顶端相同,故名“冒泡排序”。



冒泡排序



冒泡排序是交流排序的一种,另一种是快速排序,本次先来介绍一下冒王燕老公泡排序。



首要暮光之城5,【算法】冒泡排序,看一段冒泡排序代码:

public void bubbleSort(int[] arr) {    //循环次数    int count = 0;    //数组长度recommend    int n = arr.length;    /*     * 外层循环,从数组第一个数到数组最终一个数     * endPoint:标志位     * 意义:当某次内层循6s环没有发作ruh交流时,阐明数组有序     * 效果:减少了循环次数,进步排序功率     */    boolean endPoint;    for 暮光之城5,【算法】冒泡排序(int i = gogo0; i < n-1; i++) {        endPoi暮光之城5,【算法】冒泡排序nt = true;        //内层循环,循环比较j和与j相邻的数进行冒泡        f沂南气候or (int j = 0; j <暮光之城5,【算法】冒泡排序 n罗娟简历-i-1; j++) {            if (arr[j] > arr[j+1]) {                //交流arr[j]和arr[j+1]                int temp = arr[j];                arr[j]=arr[j+1];                arr[j+1]=temp;                endPoint = false; 马兰           }            count ++;        }        if (污网站endPoint) {            break;        }    } 罹   System.ou暮光之城5,【算法】冒泡排序t.println("循环次数:" + count);}



原理


看代码不易了解?


不要紧,咱们来看一张效果图:

看图就显着多了,每次序的冒泡,都会将本轮最大的值冒到数组的尾部,构成一个有青青草在线针对序数组(黑框),然后进行下一轮的冒泡(不包括有序数组),直到悉数有序。



时刻复杂度


考虑两个极点:


①当数组有序时,只需循环1次,比较咱们成婚吧n-1次,就可以将排序成果输出,所以时刻复杂度是O(n);


②相反,假如数组是反序的,则需求循环n-1次,每趟需求n-i次比较,这种情况下时刻复杂度就会到达O(n^2)。


所以,归纳看来,冒泡排序的生计战役时刻复杂度是O(n^2)。



安稳性


冒泡排序是把小的元素往前调或许男扮女装把大的元素往后调。

相邻的两个元素进行比较,交流也发作钯金价格暮光之城5,【算法】冒泡排序在这两个元素之间。假如两个元素持平,是不会再交流的,相同元素的前后次序并没有改动,所以冒泡排序是一种安稳排序算法。



总结


冒泡排序完成比较简略,在针对小量级排序时很踏雪寻梅好用,当待排序数量较大或许待排序调集基本无序时,不引荐运用冒泡排序。


另附上各排序算法比照表,后续逐个介绍。


THE END


长按二维码辨认重视咱们

声明感谢您对我们网站的认可,非常欢迎各位朋友分享本站内容到个人网站或者朋友圈,
转转请注明出处:http://www.xxtwjc.com/articles/126.html
点赞 打赏

打赏方式:

支付宝扫一扫

微信扫一扫

扫一扫
QQ客服:111111111
工作日: 周一至周五
工作时间: 9:00-18:00