亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁(yè) > 學(xué)院 > 邏輯算法 > 正文

算法 PHP實(shí)現(xiàn)經(jīng)典算法(下)

2020-03-22 20:15:10
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
  • 前言

    前幾天,我們通過(guò)PHP實(shí)現(xiàn)了不同的排序算法,并比較算法對(duì)應(yīng)的耗時(shí)。
    【算法】PHP實(shí)現(xiàn)經(jīng)典算法(上)

    下面我們來(lái)實(shí)現(xiàn)下列算法

    堆排序 雞尾酒排序 直接選擇排序 計(jì)數(shù)排序

    CODE
    $arr = [];for ($i = 0; $i < 5000; $i++) {    $arr[] = rand(1, 50000);}// 5 堆排序/** * 交換兩個(gè)數(shù)的位置 * @param $a * @param $b */function swap(&$a,&$b){    $temp = $b;    $b = $a;    $a = $temp;}/** * 左子樹 * @param $i * @return mixed */function lchild($i){ return $i*2+1;}/** * 右子樹 * @param $i * @return mixed */function rchild($i){ return $i*2+2;}/** * 整理節(jié)點(diǎn) * @param $array 待調(diào)整的堆數(shù)組 * @param $i 待調(diào)整的數(shù)組元素的位置 * @param $heapsize  數(shù)組的長(zhǎng)度 */function build_heap(&$array,$i,$heapsize){    $left = lchild($i);    $right = rchild($i);    $max = $i;    //如果比左子樹小并且在左右子樹的右面,邊界調(diào)整到左側(cè)    if($i < $heapsize && $left < $heapsize  && $array[$left] > $array[$i] ){        $max = $left;    }    //如果比右子樹小并且都小于要構(gòu)建的數(shù)組長(zhǎng)度,邊界調(diào)整到右側(cè)    if($i < $heapsize && $right < $heapsize && $array[$right] > $array[$max]){        $max = $right;    }    //如果經(jīng)過(guò)兩次調(diào)整后,要調(diào)整的數(shù)組不是最大值    if($i != $max && $i < $heapsize && $max < $heapsize){        //就交換對(duì)應(yīng)的位置,并再次進(jìn)行整理節(jié)點(diǎn)        swap($array[$i],$array[$max]);        build_heap($array,$max,$heapsize);    }}/** * 對(duì)堆進(jìn)行排序 * @param $array 要排序的數(shù)組 * @param $heapsize 數(shù)組的長(zhǎng)度 */function sortHeap(&$array,$heapsize){    while($heapsize){ //長(zhǎng)度逐步遞減0        //首先交換第一個(gè)元素和最后一個(gè)元素的位置        swap($array[0],$array[$heapsize-1]);        $heapsize = $heapsize -1;        build_heap($array,0,$heapsize); //整理數(shù)組的第一個(gè)的元素的位置,長(zhǎng)度為逐步遞減的數(shù)組長(zhǎng)度    }}/** * 創(chuàng)建堆 * @param $array * @param $heapsize */function createHeap(&$array,$heapsize){    $i = ceil($heapsize/2)-1; //找到中間的位置    for( ; $i>=0 ;$i-- ){  //從中間往前面整理堆        build_heap($array,$i,$heapsize);    }}/** * 堆排序主函數(shù) */function Heapsort($array){    $heapsize = count($array);    createHeap($array,$heapsize);    sortHeap($array,$heapsize);    return $array;}$heapsort_start_time = microtime(true);$heapsort_sort = Heapsort($arr);$heapsort_end_time = microtime(true);$heapsort_need_time = $heapsort_end_time - $heapsort_start_time;print_r('堆排序耗時(shí):' . $heapsort_need_time . '<br />');// 6 雞尾酒排序法/** * 雞尾酒排序 * @param $arr * @return mixed */function Cocktailsort($arr) {    $arr_len  =count($arr);    for($i = 0 ; $i < ($arr_len/2) ; $i ++){        //將最小值排到隊(duì)尾        for( $j = $i ; $j < ( $arr_len - $i - 1 ) ; $j ++ ){            if($arr[$j] < $arr[$j + 1] ){                swap($arr[$j],$arr[$j + 1]);            }        }        //將最大值排到隊(duì)頭        for($j = $arr_len - 1 - ($i + 1); $j > $i ; $j --){            if($arr[$j] > $arr[$j - 1]){                swap($arr[$j],$arr[$j - 1]);            }        }    }    return $arr;}$cocktailsort_start_time = microtime(true);$cocktailsort_sort = Cocktailsort($arr);$cocktailsortt_end_time = microtime(true);$cocktailsort_need_time = $cocktailsortt_end_time - $cocktailsort_start_time;print_r('雞尾酒排序耗時(shí):' . $cocktailsort_need_time . '<br />');// 7  希爾排序/** * 希爾排序 * @param $arr */function Shellsort($arr){    $n=count($arr); //數(shù)組長(zhǎng)度    for($gap=floor($n/2);$gap>0;$gap=floor($gap/=2)) //    {        for($i=$gap;$i<$n;++$i) //根據(jù)增量循環(huán)        {            //以增量為步幅進(jìn)行查看            for( $j=$i-$gap; $j>=0 && $arr[$j+$gap] < $arr[$j]; $j -= $gap)            {                swap($arr[$j],$arr[$j+$gap]);            }        }    }    return $arr;}$shellsort_start_time = microtime(true);$shellsort_sort = Cocktailsort($arr);$shellsort_end_time = microtime(true);$shellsort_need_time = $shellsort_end_time - $shellsort_start_time;print_r('希爾排序耗時(shí):' . $shellsort_need_time . '<br />');// 8  直接選擇排序/** * 直接選擇排序 * @param $arr * @return mixed */function  Straightselectsort($arr){    $n = count($arr);    for($i = 0 ; $i < $n - 1;$i++){        $m = $i;        for($j = $i+1 ; $j < $n; $j++){            if($arr[$j] < $arr[$m] ){                $m = $j;            }            if($m != $j){                //進(jìn)行交換                swap($arr[$m],$arr[$j]);            }        }    }    return $arr;}$straightselectsort_start_time = microtime(true);$straightselectsort_sort = Cocktailsort($arr);$straightselectsort_end_time = microtime(true);$straightselectsort_need_time = $straightselectsort_end_time - $straightselectsort_start_time;print_r('直接選擇排序耗時(shí):' . $straightselectsort_need_time . '<br />');// 9  計(jì)數(shù)排序/** * 計(jì)數(shù)排序 * @param $arr * @return mixed */function Countsort($arr){    $max = $arr[0];    $min = $arr[0];    foreach($arr as $key => $html' target='_blank'>value) {        if ($value > $max) {            $max = $value;        }        if ($value < $min) {            $min = $value;        }    }        //這里k的大小是要排序的數(shù)組中,元素大小的極值差+1        $c=[];        $k = $max - $min + 1;        for($i = 0; $i < count($arr) ; $i ++){            $c[$arr[$i] - $min ] +=1;        }        for($i=1;$i < count($c); ++$i){            $c[$i] = $c[$i] + $c[$i - 1];        }        for($i = count($arr);$i > 0 ; --$i){            $b[ -- $c[$arr[$i] - $min] ] = $arr[$i];        }    return $b;}$countsort_start_time = microtime(true);$countsort_sort = Cocktailsort($arr);$countsort_end_time = microtime(true);$countsort_need_time = $countsort_end_time - $countsort_start_time;print_r('計(jì)數(shù)排序耗時(shí):' . $countsort_need_time . '<br />');

    耗時(shí)對(duì)比

    堆排序耗時(shí):0.086709976196289
    雞尾酒排序耗時(shí):4.6467659473419
    希爾排序耗時(shí):4.4215688705444
    直接選擇排序耗時(shí):4.529422044754
    計(jì)數(shù)排序耗時(shí):4.2601070404053

    PHP編程

    鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

  • 發(fā)表評(píng)論 共有條評(píng)論
    用戶名: 密碼:
    驗(yàn)證碼: 匿名發(fā)表
    欧美国产一级片| 成熟的女同志hd| 潘金莲激情呻吟欲求不满视频| 日韩 欧美 亚洲| 成人毛片在线免费观看| 老司机一区二区| av 一区二区三区| 欧美乱妇40p| 一区二区三区四区精品在线视频| 日韩精品一区三区| 91传媒理伦片在线观看| 激情五月婷婷久久| 天天躁日日躁狠狠躁欧美| 欧美三区不卡| 性久久久久久久久| www在线免费观看| 忘忧草在线日韩www影院| 中文字幕av高清| 亚洲码欧美码一区二区三区| 婷婷激情综合网| 色综合伊人色综合网站| 欧美国产亚洲精品久久久8v| 日韩欧美精品| 伦理片一区二区| 一区二区三区一级片| 久久成人在线视频| 成人一二三四区| 美乳中文字幕| 日韩免费在线电影| 国产youjizz在线| 看片网站在线观看| 亚洲女在线观看| 手机在线理论电影| 欧美一卡2卡3卡4卡无卡免费观看水多多| 狠狠鲁男人天堂| 好看的视频你懂的| 粉嫩虎白女毛片人体| 亚洲第一成人在线视频| a在线视频播放观看免费观看| 免费不卡在线观看av| 免费精品99久久国产综合精品应用| 亚洲精品免费一区亚洲精品免费精品一区| 久久精品这里有| 色八戒一区二区三区| 欧美午夜不卡影院在线观看完整版免费| 在线免费观看黄色av| 一区二区三区在线视频免费| japanese在线视频| 中文字幕在线观看第一页| 91在线视频免费91| 亚洲精品一区在线观看香蕉| 人妻一区二区三区四区| 日本成人黄色免费看| 美女av在线免费看| 中文字幕2022永久在线| 国产呦精品一区二区三区网站| 亚洲福利视频网| 国产最顶级的黄色片在线免费观看| 国产精品视频一区二区三区四蜜臂| 久久免费福利视频| 国产盗摄视频在线观看| 五月天激情四射| 91精品久久久久| 亚洲欧美在线精品| 91精品国产乱码久久久久久蜜臀| 欧美激情国产在线| 国产精品天天看| 天天干天天舔天天操| 成人情趣片在线观看免费| 免费男女羞羞的视频网站主页在线观看| 欧美精选一区二区| 黄色av小说在线观看| 亚洲综合色一区| 国产91精品久久久| av网页在线| 国产亚洲欧洲997久久综合| 国产精品粉嫩| 美女高潮网站| 免费看男女www网站入口在线| 深田咏美中文字幕| 天天干 天天插| 亚洲天堂精品在线观看| 亚洲自拍高清视频网站| 三级网站免费观看| 日本美女一区二区三区| 久久午夜无码鲁丝片午夜精品| 91麻豆国产视频| 国产伦精品一区二区三区在线| 麻豆免费看一区二区三区| 色视频在线观看在线播放| 成r视频免费观看在线播放| 欧美国产日韩精品| 91精品天堂| 香蕉久久久久久| av网站免费在线播放| 色多多视频网站| 狠久久av成人天堂| 免费国产精品视频| 欧美性受ⅹ╳╳╳黑人a性爽| 精品无人区麻豆乱码久久久| 99久久激情| 欧美精品第1页| 国产精品av久久久久久麻豆网| 欧美午夜aaaaaa免费视频| 欧美日韩精品免费观看视欧美高清免费大片| 激情欧美亚洲| 9191成人精品久久| 亚洲区一区二| 国产精品成久久久久| 国产黄视频在线观看| 欧美激情xxxx性bbbb| 亚洲欧美日韩中文播放| 久久精品高清| 久久日本片精品aaaaa国产| 91国偷自产一区二区三区观看| 国产成人久久精品77777综合| 欧美一二三视频| www.国产精品.com| 国产h色视频在线观看| 亚洲天堂久久av| 日本在线视频免费| 国产成人啪午夜精品网站男同| 亚洲av无码国产精品麻豆天美| 亚洲 欧美 日韩 在线| 五月精品视频| 永久免费看片直接| 91高清在线观看| 播播国产欧美激情| 九九亚洲精品| 91视频国产精品| 黄色一级大片在线免费看产| 噜噜噜久久亚洲精品国产品麻豆| 国产免费一区二区三区最新6| 中文字幕日韩一区二区三区| 欧美性受xxxxxx黑人xyx性爽| 亚洲成av人片观看| 国产精品一卡二卡三卡| 亚洲综合三区| 日本肉体xxxx裸体xxx免费| 欧美丝袜一区二区| 亚洲国产一区二区三区在线播放| 久久一区二区三区喷水| 亚洲精品自产拍在线观看| 日韩精品欧美大片| 欧美成aaa人片免费看| 在线综合+亚洲+欧美中文字幕| 国产精品欧美一区二区三区不卡| 拍拍拍在线观看视频免费| 一级黄色录像视频| 1级黄色大片儿| 国产在线一二| 劲爆欧美第一页| 91麻豆福利| 久久国产精品久久精品| 色综合久久精品亚洲国产| 国产最顶级的黄色片在线免费观看| 欧美精品国产精品久久久| 奇米狠狠一区二区三区| 亚洲视频电影图片偷拍一区| 99精品视频在线观看免费| 国产日韩中文字幕| 亚洲人的天堂男人爽爽爽| 在线免费观看av网址| 成人免费在线观看| 欧美大香线蕉线伊人久久国产精品| 日韩av不卡在线观看| 国产精品丝袜一区| 亚洲天堂2017| 精品精品国产毛片在线看| 久久午夜鲁丝片午夜精品| 蜜桃视频m3u8在线观看| 日本高清不卡一区二区三区视频| 911精品美国片911久久久| 在线观看日韩专区| 精品精品国产毛片在线看| 色88888久久久久久影院| 亚洲区第一页| 91九色蝌蚪成人| 久久久久久久久97黄色工厂| 星空大象在线观看免费播放| 99视频国产精品| 欧美日韩在线亚洲一区蜜芽| 久久国产精品一区二区三区四区| 国产手机视频一区二区| 国产性生活一级片| 男人av在线| 国产日韩欧美成人| 国产专区精品| 亚洲三级电影| 欧美白人最猛性xxxxx69交| 国产精品一二二区| 久久精品成人欧美大片古装| 成人国产精品免费| 中文字幕亚洲精品在线观看| 久久精品成人一区二区三区蜜臀| 春暖花开亚洲一区二区三区| 成人欧美视频在线| 日本免费不卡视频| 一区二区免费视频| 天天影视色综合| 国产在线一在线二| 国产久卡久卡久卡久卡视频精品| 91麻豆精品国产91久久久更新资源速度超快| 欧美精品欧美精品| 国产在线视频99| 欧美激情精品久久久久久大尺度| 亚洲区第一页| 性欧美video视频另类| 26uuu精品一区二区三区四区在线| 中文字幕人妻一区二区三区在线视频| av在线不卡免费观看| 久久大胆人体视频| 激情久久一区| 奇米影视四色在线| 成人欧美一区二区三区视频网页| 欧美激情在线观看视频免费| 青青操国产视频| 国产精品久一| 久久久久久91香蕉国产| 欧美大尺度激情区在线播放| 欧美午夜性色大片在线观看| 欧美一级手机免费观看片| 极品美乳网红视频免费在线观看| 欧美色图888| 欧美偷拍一区二区三区| 色呦呦网站在线观看| 女性女同性aⅴ免费观女性恋| 日韩欧美另类一区二区| 亚洲v欧美v另类v综合v日韩v| 国产美女无遮挡网站| 黄色小视频大全| 在线精品视频一区二区三四| 日韩欧美国产精品综合嫩v| 国产一区二区三区视频在线| 亚洲视频电影图片偷拍一区| 激情视频免费在线| 免费免费啪视频在线观看| 肉色超薄丝袜脚交一区二区| 91精品国产网站| 成人影院在线看| 国产精品高清无码在线观看| 亚洲男人天堂久久| 日本黄色片视频| gogogo高清在线观看免费完整版| 91国内精品野花午夜精品| 久草在线视频资源| 3d性欧美动漫精品xxxx软件| 成人午夜一级二级三级| 99热超碰在线| 亚洲精品视频网上网址在线观看| 在线观看av免费| 国产xxx精品视频大全| 成人免费毛片男人用品| 成人欧美一区二区三区黑人一| 欧美精品中文字幕一区| 欧美中文字幕亚洲一区二区va在线| 天天操天天爱天天干| 国产精品影院在线观看| 日韩av电影网| 日韩成人一级| 诱人的瑜伽老师3hd中字| eeuss影院www免费看| 中文字幕精品在线播放| 在线观看亚洲黄色| а√天堂资源地址在线下载| 国产深夜精品福利| 欧美日韩理论片| 久久久久91| 91精品国产自产在线老师啪| 国产精品视频看看| 国产精品99久久久久久成人| 精品国产va久久久久久久| 免费看日韩毛片| 日韩精品一二| 久热这里只有精品在线| 四虎影视永久免费在线观看一区二区三区| 精品一区二区日韩| 无码人妻丰满熟妇区bbbbxxxx| 九色porny丨国产首页在线| 欧美性猛交xxxxx少妇| 亚洲色欲综合一区二区三区| 国产无遮挡在线视频免费观看| 日本一区精品久久久久影院| 日韩精品一区二区在线观看| 亚洲 小说 欧美 激情 另类| 欧美剧在线免费观看网站| 99久久99久久精品国产片果冻| 久久久久久久久久久久久国产精品| 国产精品美女呻吟| 91麻豆视频在线观看| 99国产精品免费网站| 一级全黄少妇性色生活片| 国精品日韩欧美一区二区三区| wwww国产精品欧美| 国产二区国产一区在线观看| 欧美97人人模人人爽人人喊视频| 91香蕉视频网| 精品视频在线免费看| 婷婷丁香在线| 又色又爽的视频| jizz18女人高潮| 夜夜嗨av色综合久久久综合网| 一级全黄少妇性色生活片| 色偷偷在线观看| 欧美激情成人网| 国产淫片免费看| 性xxxxxxxxx18欧美| 日韩欧美主播在线| 女同久久另类69精品国产| 婷婷激情四射网| 欧美电影精品一区二区| 依依成人精品视频| 日韩精品国产精品| 婷婷成人综合网| 国产午夜精品视频| 暴力调教一区二区三区| 亚洲 欧美 国产 另类| 中文字幕人妻一区二区| 日韩另类视频| 麻豆精品精品国产自在97香蕉| 国产精品极品美女在线观看免费| 天天操天天干天天干| 最新av网站在线观看| 美女福利视频在线| 99精品国产一区二区三区不卡| 天堂v在线视频| 欧美有码在线观看| 成人欧美日韩|