• 常用的PHP排序算法以及应用场景


    更多php排序算法应用常景:http://www.bf361.com/algorithm/algorithm-php
    1、冒泡排序 

    冒泡排序:冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端。

    [平均算法复杂度:O(n*n)]

    62015b988d36adb56b9e16b5a027d28d.gif

    应用场景分析:冒泡排序因为是两两之间逐个进行排序,所以稳定性比较好,即排序所消耗的时间比较稳定(稳定不代表快),可用于对排序时间要求性比较稳定的项目。可针对多样性的数据进行排序:比如待排序的数据变化性比较大,各数据元素之间的跨度比较大,避免最坏情况的出现使消耗的时间过多。

    function bubble_sort($arr) { 
        $n=count($arr); 
        for($i=0;$i<$n-1;$i++){ 
            for($j=$i+1;$j<$n;$j++) { 
                if($arr[$j]<$arr[$i]) { 
                    $temp=$arr[$i]; 
                    $arr[$i]=$arr[$j]; 
                    $arr[$j]=$temp; 
                } 
            } 
        } 
        return $arr; 
    }
    
    $arr = ['12','65','20','22','32','52','3'];
    // 记录开始时间
    $time_start = microtime();
    $res = bubble_sort($arr);
    echo "
    ";
    print_r($res);
    echo "
    "; // 记录结束时间 $time_end = microtime(); $time = $time_end - $time_start; // 输出运行总时间  echo "执行时间 $time 微秒";
  • 相关阅读:
    jmeter(十八)属性和变量
    jmeter(十七)逻辑控制器
    jmeter(九)分布式测试
    jmeter(八)HTTP属性管理器HTTP Cookie Manager、HTTP Request Defaults
    jmeter(七)函数
    jmeter(六)关联
    jmeter(五)集合点
    jmeter(四)检查点
    jmeter(三)参数传递
    jmeter(二)元件的作用域与执行顺序
  • 原文地址:https://www.cnblogs.com/behindman/p/8746308.html
Copyright © 2020-2023  润新知