数据结构与算法之冒泡排序优化-阿里云开发者社区

开发者社区> pioneer17> 正文

数据结构与算法之冒泡排序优化

简介: 冒泡排序优化 /** * 冒泡排序优化算法 * @param array */ public static void sort(int[] array) { int len = array.
+关注继续查看

冒泡排序优化

    /**
     * 冒泡排序优化算法
     *
     * @param array
     */
    public static void bubbleSortFast(int[] array) {
        int len = array.length;
        for (int i = 0; i < len - 1; i++) {
            boolean change = false;
            for (int j = 0; j < len - i - 1; j++) {
                if (array[j] > array[j + 1]) {
                    int temp = array[j];
                    array[j] = array[j + 1];
                    array[j + 1] = temp;
                    change = true;
                }
            }
            if (!change) {
                break;
            }
        }
    }

    /**
     * 冒泡排序原始算法,未优化
     *
     * @param array
     */
    public static void bubbleSortSlow(int[] array) {
        int len = array.length;
        for (int i = 0; i < len - 1; i++) {
            for (int j = 0; j < len - i - 1; j++) {
                if (array[j] > array[j + 1]) {
                    int temp = array[j];
                    array[j] = array[j + 1];
                    array[j + 1] = temp;
                }
            }

        }
    }

测试代码:

    int[] array = {-30, -40, -99, 27, 88, 66, 89, 99};

上面数组进行排序,调用传统算法需要遍历28次,调用优化后的算法只需要遍历18次

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Renascence架构原理——最优化算法
最优化算法 背景 通过公式生成ADF之后,根据下层函数库的配置,在结构不变的情形下,ADF是可以通过一系列值在0-1之间的参数进行调节的。也即ADF可表示为固定维数n的实数集,因此需要解决的问题就是在给定的目标下,求一组使目标值最大的参数。 max(f(x0,x1,x2,x3,...,xn)),xi∈[0,1] max(f(x_0, x_1, x_2, x_3, .
1125 0
YFIOServer后台驱动算法优化
以前,虽然YFIOServer的驱动实现了各种PLC的通信(如PPI,MPI,Modbus等等),但是以前的IO变量读写并没有优化,所以当要访问的变量一多,效率就成为问题
345 0
神经架构优化(NAO):新的神经架构搜索(NAS)算法
如果你是一名深度学习实践者,你可能发现自己经常会遇到同一个关键问题:我应该为现在的任务选择哪种神经网络架构?
546 0
粒子群优化算法(PSO)之基于离散化的特征选择(FS)(一)
欢迎大家关注我们的网站和系列教程:http://www.tensorflownews.com/,学习更多的机器学习、深度学习的知识! 作者:Geppetto 在机器学习中,离散化(Discretization)和特征选择(Feature Selection,FS)是预处理数据的重要技术,提高了算法在高维数据上的性能。
1189 0
使用Spring AOP实现MySQL数据库读写分离案例分析
使用Spring AOP实现MySQL数据库读写分离案例分析 前言 分布式环境下数据库的读写分离策略是解决数据库读写性能瓶颈的一个关键解决方案,更是最大限度了提高了应用中读取 (Read)数据的速度和并发量。
1777 0
七大基本排序算法C/C++(已优化及测试)
七大基本排序算法 已通过VS2015环境测试 可能不是最优算法,但是比基本版更好 完整项目GitHub 地址:https://github.com/cugwyman/7-Sorts BubbleSort冒泡排序 //BubbleSort冒泡排序,复杂度O(n^2...
689 0
+关注
3
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载