国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 學院 > 邏輯算法 > 正文

算法 PHP實現經典算法(上)

2020-03-22 17:38:59
字體:
來源:轉載
供稿:網友
  • 前言

    下面的是通過PHP實現經典算法,并計算了耗時,可以通過耗時對比這幾種算法的復雜度。

    插入排序 冒泡排序 選擇排序 并歸排序 快速排序

    CODE
    $arr = [];for ($i = 0; $i < 5000; $i++) {    $arr[] = rand(1, 10000);}//1 插入排序function insertionSort($arr){    for ($i = 1; $i < count($arr); $i++) {        $tmp = $arr[$i]; //設置監視哨        $key = $i - 1; //設置開始查找的位置        while ($key >= 0 && $tmp < $arr[$key]) { // 監視哨的值比查找的值小 并且 沒有到此次查詢的第一個            $arr[$key + 1] = $arr[$key];  //數組的值進行后移            $key--;  //要查找的位置后移        }        if (($key + 1) != $i) //放置監視哨            $arr[$key + 1] = $tmp;    }    return $arr;}$insertion_start_time = microtime(true);$insertion_sort = insertionSort($arr);$insertion_end_time = microtime(true);$insertion_need_time = $insertion_end_time - $insertion_start_time;print_r('插入排序耗時:' . $insertion_need_time . '<br />');//2 冒泡排序function bubbleSort($arr){    for ($i = 0; $i < count($arr); $i++) {        for ($j = 0; $j < $i + 1; $j++) {            if ($arr[$j] < $arr[$j - 1]) {                $temp = $arr[$j - 1];                $arr[$j - 1] = $arr[$j];                $arr[$j] = $temp;            }        }    }    return $arr;}$bubble_start_time = microtime(true);$bubble_sort = bubbleSort($arr);$bubble_end_time = microtime(true);$bubble_need_time = $bubble_end_time - $bubble_start_time;print_r('冒泡排序耗時:' . $bubble_need_time . '<br />');//3 選擇排序function selectionSort($arr){    $count = count($arr);    for ($i = 0; $i < $count - 1; $i++) {        //找到最小的值        $min = $i;        for ($j = $i + 1; $j < $count; $j++) {            //由小到大排列            if ($arr[$min] > $arr[$j]) {                //表明當前最小的還比當前的元素大                $min = $j;                //賦值新的最小的            }        }        /*swap$array[$i]and$array[$min]即將當前內循環的最小元素放在$i位置上*/        if ($min != $i) {            $temp = $arr[$min];            $arr[$min] = $arr[$i];            $arr[$i] = $temp;        }    }    return $arr;}$selection_start_time = microtime(true);$selection_sort = selectionSort($arr);$selection_end_time = microtime(true);$selection_need_time = $selection_end_time - $selection_start_time;print_r('選擇排序耗時:' . $selection_need_time . '<br />');//4 并歸排序//merge函數將指定的兩個有序數組(arr1arr2,)合并并且排序//我們可以找到第三個數組,然后依次從兩個數組的開始取數據哪個數據小就先取哪個的,然后刪除掉剛剛取過///的數據function al_merge($arrA, $arrB){    $arrC = array();    while (count($arrA) && count($arrB)) {        //這里不斷的判斷哪個值小,就將小的值給到arrC,但是到最后肯定要剩下幾個值,        //不是剩下arrA里面的就是剩下arrB里面的而且這幾個有序的值,肯定比arrC里面所有的值都大所以使用        $arrC[] = $arrA['0'] < $arrB['0'] ? array_shift($arrA) : array_shift($arrB);    }    return array_merge($arrC, $arrA, $arrB);}//歸并排序主程序function al_merge_sort($arr){    $len = count($arr);    if ($len <= 1)        return $arr;//遞歸結束條件,到達這步的時候,數組就只剩下一個元素了,也就是分離了數組    $mid = intval($len / 2);//取數組中間    $left_arr = array_slice($arr, 0, $mid);//拆分數組0-mid這部分給左邊left_arr    $right_arr = array_slice($arr, $mid);//拆分數組mid-末尾這部分給右邊right_arr    $left_arr = al_merge_sort($left_arr);//左邊拆分完后開始遞歸合并往上走    $right_arr = al_merge_sort($right_arr);//右邊拆分完畢開始遞歸往上走    $arr = al_merge($left_arr, $right_arr);//合并兩個數組,繼續遞歸    return $arr;}$merge_start_time = microtime(true);$merge_sort = al_merge_sort($arr);$merge_end_time = microtime(true);$merge_need_time = $merge_end_time - $merge_start_time;print_r('并歸排序耗時:' . $merge_need_time . '<br />');//5 快速排序function quickSort(&$arr){    if(count($arr)>1){        $k=$arr[0];        $x=array();        $y=array();        $_size=count($arr);        for($i=1;$i<$_size;$i++){            if($arr[$i]<=$k){                $x[]=$arr[$i];            }elseif($arr[$i]>$k){                $y[]=$arr[$i];            }        }        $x=quickSort($x);        $y=quickSort($y);        return array_merge($x,array($k),$y);    }else{        return$arr;    }}$quick_start_time = microtime(true);$quick_sort = al_merge_sort($arr);$quick_end_time = microtime(true);$quick_need_time = $quick_end_time - $quick_start_time;print_r('快速排序耗時:' . $quick_need_time . '<br />');

    耗時對比

    插入排序耗時:1.2335460186005
    冒泡排序耗時:2.6180219650269
    選擇排序耗時:1.4159741401672
    并歸排序耗時:0.17212891578674
    快速排序耗時:0.16736888885498

    PHP編程

    鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
    亚洲成人av在线影院| 亚洲网站视频在线观看| 人人澡人人爽| www免费在线观看| 亚洲精品男人| 久草网在线视频| 天堂中文字幕在线| 国产视频二区在线观看| 国产高清视频免费最新在线| 国产福利在线免费观看| 在线观看视频污| 成人免费一区二区三区牛牛 | 青草青在线视频| 国产精品臀控福利在线观看| 国产精品国产国产aⅴ| 亚洲天堂久久久| 五月天天在线| av网站大全在线| 国产乱码在线| av中文在线| 国产精品美女视频免费观看软件 | 国产寡妇树林野战在线播放| 亚洲图区综合| 国产丝袜视频在线播放| 亚洲wwwwww| 国产精品一区在线看| 777电影在线观看| 九九视频在线播放| 性网站在线看| 精品日韩av| 国产精品久久久久一区二区国产 | 香蕉视频在线观看网站| 综合激情亚洲| gogogo影视剧免费观看在线观看| 黄色电影网站在线观看| 在线观看中文字幕一区| 国产精品扒开做爽爽爽的视频| 欧美日韩在线资源| 色综合久久五月天| 精品国产高清a毛片无毒不卡 | 亚洲综合在线不卡| 国产高潮av| 国产精品秘入口| 国产一区二区三区福利| 不卡av免费观看| 四虎www视频| 欧美日韩性视频一区二区三区| 国产福利小视频在线观看| 国产麻豆精品一区二区三区v视界| 麻豆网站在线| 另类专区欧美| 麻豆精品免费视频入口| yjizz视频网站在线播放| 亚洲sss视频| 日本黄在线观看| 欧美黑人乱大交| 国产中文字幕av| 综合图区亚洲白拍在线 | 69精品视频| 在线播放www| heisi视频网在线观看| 欧美日韩不卡中文字幕在线| 九九热免费视频| 中文字幕在线观看av| 国产精品剧情一区二区在线观看| 国产小视频免费在线网址| 国产香蕉视频在线观看| 国产高清在线| www.狠狠操| 国产小黄视频| 四虎在线免费视频| 尤物视频网站在线观看| 99综合精品久久| 99视频资源网| 四虎a级欧美在线观看| 91sp网站在线观看入口| 精品视频vs精品视频| 国产中文字幕在线视频| 91亚洲天堂| 国产精品外围在线观看| 天天噜天天色| 国产成人精品久久一区二区小说| 白浆爆出在线观看| 在线免费观看你懂的| 中文字幕第一页在线| av在线不卡免费| 国产黄在线看| 国产精品自产拍在线网站| 青青青青在线| 夜夜爽夜夜操| 在线视频99| 国产福利视频在线| 国产一起色一起爱| 国产九色视频| 国产免费av高清在线| 97一区二区三区| 国产区视频在线| 国产理论在线观看| 欧美高清视频| 人人在线视频| 影音先锋中文字幕在线| 国产娇喘精品一区二区三区图片| 国产精品㊣新片速递bt| 久热国产在线| 久久国产热视频| 激情综合丁香| 最新超碰在线| 91蜜桃在线视频| 精品999视频| 精品视频一区二区观看| 国产精品福利视频一区二区三区| 中文字幕日本在线观看| 中文字幕免费中文| 国产大学生粉嫩无套流白浆| 在线中文字幕资源| 国产www网站| 在线视频观看你懂的| 亚洲精品一线| 欧美性猛交p30| 日本中文字幕视频| 国产亚洲精品一区二区在线观看| 国产写真视频在线观看| 国产超碰97| av资源网站在线观看| 国内自拍视频在线看免费观看| 狠狠干五月天| 国产成人精品久久一区二区小说 | 国产精品免费视频一区一| 午夜国产在线| 中文字幕av高清在线观看| 欧美啪啪精品| 91国内精品久久久久| 色吊丝av中文字幕| 国产极品嫩模在线视频一区| 日本视频在线观看一区二区三区| 国产裸舞福利在线视频合集| 国产精品久久精品牛牛影视| 在线视频二区| 国产亚洲精品午夜高清影院| 日本动漫理论片在线观看网站| 国产小黄视频| 国产在线观看网站| 精品视频vs精品视频| 福利在线国产| 国产成人精品18| 日本中文字幕高清视频| 免费影视观看网站入口| 国产黄网站在线观看| 国产在线精品一区二区不卡| 中文日本在线观看| 91亚洲天堂| 国产白浆在线| 国产精品四虎| 天天爱天天做色综合| а天堂8中文最新版在线官网| 精品美女在线观看视频在线观看| 五月天天在线| 国产麻豆精品一区二区三区v视界| 国产精品被窝福利一区| 国产中文字幕在线播放| 伊人中文字幕在线| 99re热在线观看| 中文视频在线| av中文在线| www.色五月| 全网国产福利在线播放| sese在线视频| 国产9色视频| 亚洲精品影视在线| av中文字幕在线看| 久久er视频| 99视频免费| 91高清国产| 国产二级c片l毛片| 在线观看av资源网| 日本在线观看| 国产鲁鲁视频在线观看特色| 国产一卡2卡3卡免费网站| 国产丝袜护土调教在线视频| 精品无人区乱码1区2区3区免费 | 亚洲天堂电影在线观看| 亚洲网站一区| 国产尤物一区二区三区| 国产在线中文字幕| 中文字幕高清av| 樱花草在线观看www| 九九热在线观看| 国产jizz| 国产尤物一区二区三区| 国产馆av播放| 久久精品无码一区二区日韩av| 国产在线观看a视频| 国产激情在线观看| wwwww在线观看免费视频| 国产一区二区三区福利| av在线播放av| 国产免费黄网站| 四虎国产精品永久| 69国产精品| 天堂在线免费观看|