成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > php計數排序算法的實現(xiàn)代碼(附四個實例代碼)

php計數排序算法的實現(xiàn)代碼(附四個實例代碼)

熱門標簽:南寧電話外呼系統(tǒng)線路 重慶外呼電銷系統(tǒng)多少錢 正規(guī)電銷機器人系統(tǒng) 南京3D地圖標注 辦理400電話哪家好點 濟源百應電銷機器人聯(lián)系方式 咸陽電銷 邢臺400電話辦理 嘟嘟云外呼系統(tǒng)

計數排序只適合使用在鍵的變化不大于元素總數的情況下。它通常用作另一種排序算法(基數排序)的子程序,這樣可以有效地處理更大的鍵。

總之,計數排序是一種穩(wěn)定的線性時間排序算法。計數排序使用一個額外的數組C ,其中第i個元素是待排序數組 A中值等于 i的元素的個數。然后根據數組C 來將A中的元素排到正確的位置。

通常計數排序算法的實現(xiàn)步驟思路是:

1.找出待排序的數組中最大和最小的元素;

2.統(tǒng)計數組中每個值為i的元素出現(xiàn)的次數,存入數組C的第i項;

3.對所有的計數累加(從C中的第一個元素開始,每一項和前一項相加);

4.反向填充目標數組:將每個元素i放在新數組的第C[i]項,每放一個元素就將C[i]減去1。

PHP計數排序算法的實現(xiàn)代碼示例如下:

?php
function counting_sort($my_array, $min, $max)
{
  $count = array();
  for($i = $min; $i = $max; $i++)
  {
    $count[$i] = 0;
  }
 
  foreach($my_array as $number)
  {
    $count[$number]++;
  }
  $z = 0;
  for($i = $min; $i = $max; $i++) {
    while( $count[$i]-- > 0 ) {
      $my_array[$z++] = $i;
    }
  }
  return $my_array;
}
$test_array = array(3, 0, 2, 5, -1, 4, 1);
echo "原始數組 :\n";
echo implode(', ',$test_array );
echo "\n排序后數組\n:";
echo implode(', ',counting_sort($test_array, -1, 5)). PHP_EOL;

輸出:

原始數組 : 3, 0, 2, 5, -1, 4, 1

排序后數組 :-1, 0, 1, 2, 3, 4, 5

下面補充一個例子

1、計數排序只適用于整數在小范圍內排序

?php
$arr = [95,94,91,98,99,90,99,93,91,92];
function countSort($arr){
$max = $arr[0];
$min = $arr[0];
for($i=0;$icount($arr);$i++){
if($arr[$i]>$max){
$max = $arr[$i];
}
if($arr[$i]  $min){
$min = $arr[$i];
}
}
try{
$frequency = new SplFixedArray($max-$min+1);
for($i=0;$icount($arr);$i++){
if(empty($frequency[$arr[$i]-$min]))
$frequency[$arr[$i]-$min] = 0;
$frequency[$arr[$i]-$min] += 1;
}

$sum = 0;
for ($i=0; $i  count($frequency); $i++) {
$sum += $frequency[$i];
$frequency[$i] = $sum;
}

$splfixed = new SplFixedArray(count($arr));

for($i=(count($arr)-1);$i>=0;$i--){
$splfixed[$frequency[$arr[$i]-$min]-1] = $arr[$i];
$frequency[$arr[$i]-$min] -= 1;
}
}catch(RuntimeException $re){
echo "RuntimeException: ".$re->getMessage()."\n";
}
print_r($splfixed->toArray());
}
countSort($arr);
?>

輸出

Array
(
    [0] => 90
    [1] => 91
    [2] => 91
    [3] => 92
    [4] => 93
    [5] => 94
    [6] => 95
    [7] => 98
    [8] => 99
    [9] => 99
)

2、php計數排序

獲取序列中的最小值min和最大值max O(n)
統(tǒng)計min - max之間所有值在序列中的出現(xiàn)次數 O(n)
順序輸出min - max的所有值,次數為0不輸出,其余次數為多少就輸出多少 O(k) k為數據范圍

例如序列為: 2, 4, 6, 9, 4, 8

min = 2, max = 9, n為6,k為8

統(tǒng)計出現(xiàn)次數為

[2 => 1, 3 => 0, 4 => 2, 5 => 0, 6 => 1, 7 => 0, 8 => 1, 9 => 1]

輸出結果為

2, 4, 4, 6, 8, 9

很明顯,計數排序的復雜度為O(n) + O(k),也就是和數據量和數據范圍有關.
若n和k相近,則可認為是O(n)
同時,因為要統(tǒng)計出現(xiàn)次數,如果數據范圍過大而數據又很稀疏,造成的空間浪費比較大

class CountSort
{
  private $originalData = [];
  private $rangeMap = [];
  private $resultData = [];

  public function __construct($original = [])
  {
    $this->originalData = $original;
  }

  public function sort()
  {
    list($min, $max) = $this->calculateDataRange();
    $this->statisticNumberOfOccurrence($min, $max);
    $this->resultData = $this->generateResult();
    return $this->resultData;
  }

  protected function calculateDataRange()
  {
    $max = null;
    $min = null;

    foreach ($this->originalData as $value) {
      if (!is_null($max)) {
        if ($value > $max) {
          $max = $value;
        }
      } else {
        $max = $value;
      }

      if (!is_null($min)) {
        if ($value  $min) {
          $min = $value;
        }
      } else {
        $min = $value;
      }
    }

    return [$min, $max];
  }

  protected function statisticNumberOfOccurrence($min, $max)
  {
    for ($i = $min; $i = $max; $i++) {
      $this->rangeMap[$i] = 0;
    }

    foreach ($this->originalData as $value) {
      $this->rangeMap[$value]++;
    }
  }

  protected function generateResult()
  {
    $result = [];

    foreach ($this->rangeMap as $key => $value) {
      if ($value != 0) {
        for ($i = 0; $i  $value; $i++) {
          array_push($result, $key);
        }
      }
    }
    return $result;
  }
}

$testData = [2, 3, 4, 3, 10, 30, 20, 15, 10, 12, 33];

$countSort = new CountSort($testData);
echo 'pre>';
var_dump($countSort->sort());

輸出

pre>array(11) {
  [0]=>
  int(2)
  [1]=>
  int(3)
  [2]=>
  int(3)
  [3]=>
  int(4)
  [4]=>
  int(10)
  [5]=>
  int(10)
  [6]=>
  int(12)
  [7]=>
  int(15)
  [8]=>
  int(20)
  [9]=>
  int(30)
  [10]=>
  int(33)
}

到此這篇關于php計數排序算法的實現(xiàn)代碼的文章就介紹到這了,更多相關php計數排序內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • java 實現(xiàn)計數排序和桶排序實例代碼
  • 10個python3常用排序算法詳細說明與實例(快速排序,冒泡排序,桶排序,基數排序,堆排序,希爾排序,歸并排序,計數排序)
  • js 計數排序的實現(xiàn)示例(升級版)
  • python實現(xiàn)計數排序與桶排序實例代碼
  • JAVA十大排序算法之計數排序詳解

標簽:唐山 通遼 黃山 平頂山 河南 武漢 隴南 南通

巨人網絡通訊聲明:本文標題《php計數排序算法的實現(xiàn)代碼(附四個實例代碼)》,本文關鍵詞  php,計數,排序,算法,的,實現(xiàn),;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《php計數排序算法的實現(xiàn)代碼(附四個實例代碼)》相關的同類信息!
  • 本頁收集關于php計數排序算法的實現(xiàn)代碼(附四個實例代碼)的相關信息資訊供網民參考!
  • 推薦文章
    另类图片第一页| 日本不卡视频一区二区| 久久免费视频网| 国产97人人超碰caoprom| 国产xxx免费观看| 亚洲欧洲视频在线观看| 亚洲黄色在线观看视频| 亚洲乱码av中文一区二区| 午夜福利123| 三级黄色视屏| 国产精选在线观看| 国产不卡一卡2卡三卡4卡5卡在线| 日韩黄在线观看| 欧美黄色小视频| 日本精品免费观看| 亚洲高清免费在线观看| 精品欧美色视频网站在线观看| 久久99久久久久久久噜噜| 亚洲色图 在线视频| 明星裸体视频一区二区| 午夜老司机在线观看| 欧美日韩99| 中文字幕日韩有码| 国产欧美婷婷中文| 成人综合一区| 4hu四虎永久在线影院成人| 日韩av电影免费在线| 成人综合专区| 久久久久九九九| 99久久婷婷国产综合精品青牛牛| 欧美中文字幕不卡| 欧美激情精品久久久久久小说| 手机看片国产日韩| 伊人波多野结衣| 一本色道久久综合狠狠躁的推荐| 免费xxxxx网站中文字幕| 91精品国产色综合久久不卡蜜臀| 91视频免费网址| 国产精品二区二区三区| 欧美亚洲免费高清在线观看| av在线免费网址| 日韩中文字幕高清在线观看| 国产精品美女视频网站| 神马影院午夜我不卡影院| 欧美日韩一区二区三区高清| 亚洲天堂一区二区三区| 久久视频精品在线观看| 久久精品免视看国产成人| 色视频www在线播放国产成人| 欧美xfplay| 亚洲第一成人在线| 黄黄视频在线观看| 国产精品久久久久久亚洲伦| 国产精品久久久久一区二区三区厕所| 欧美一区二区私人影院日本| 欧美日韩亚洲视频一区| 4hu永久免费入口| 国产精品爱久久久久久久小说| 国产成人综合在线| 99国产精品久久久久久久久久| 亚洲一区二区自拍偷拍| 91视频99| 99久久视频| 一区二区三区三区在线| 成人精品国产亚洲| 78国产伦精品一区二区三区| 欧美一区二区三区思思人| a黄色片在线观看| 欧美自拍大量在线观看| 无码精品黑人一区二区三区| 在线视频欧美亚洲| 国产精品久久久久影院| 欧美啪啪免费视频| 国产精品免费观看视频| 91在线视频导航| 国产中文伊人| 日韩一区二区三区四区五区六区| 劲爆欧美第一页| 亚洲不卡在线观看| 在线看无码的免费网站| 欧美高清在线视频| 婷婷精品国产一区二区三区日韩| 精品日韩视频在线观看| 在线区一区二视频| 国产偷倩在线播放| 色偷偷9999www| 亚洲黄色录像片| 成人看片黄a免费看在线| 狠狠躁日日躁夜夜躁av| 亚洲精品国久久99热| 久久久久久久久久久久久久久久av| 中韩乱幕日产无线码一区| 国产成人综合网站| 日韩理论电影中文字幕| 99精品国产一区二区| 日韩在线观看免费网站| 在线黄色.com| 亚洲女人18毛片水真多| 国产精品久久久久久久久久久久久久久| 欧美系列精品| 经典三级在线| 91在线观看免费高清完整版在线观看| 欧美日韩高清在线一区| 天干夜天天夜天干天ww| 国内成人自拍| 亚洲精品综合精品自拍| 亚洲美女视频| 91精品久久| 欧美精品1区2区| 午夜精品婷婷| 黄色录像1级片| 亚洲成熟女性毛茸茸| 伊甸园精品99久久久久久| 国产成人激情小视频| 亚洲天堂网在线观看| 成人黄色免费网站在线观看| ass精品国模裸体欣赏pics| 亚洲精品偷拍| 91久久国产综合久久蜜月精品| 成人毛片在线观看| 在线观看不卡的av| 国产免费一区二区三区视频| 久久久久久久久久久影视| 国产一级揄自揄精品视频| 日韩在线www| 人体内射精一区二区三区| 午夜一区二区视频| 亚洲一区黄色| 精品一区在线看| 中文字幕欧美视频| 中文字幕人妻一区二区三区视频| 三级黄色录像视频| 欧美日韩日本视频| 天天干在线观看| 极品尤物一区| 成 人 黄 色 片 在线播放| 爱情岛论坛亚洲品质自拍视频网站| 18国产精品| 天天综合91| 欧美视频www| 久热久热免费视频中文字幕777| 女人让男人操自己视频在线观看| 久久久亚洲福利精品午夜| 91tv亚洲精品香蕉国产一区7ujn| 中文字幕日韩一区二区三区| 樱花草www在线| 日韩精品一区二区三区四区五区| 欧美精品一区二区三区蜜桃| 国产高清在线免费观看| 国产chinesehd精品露脸| 国产极品久久久久久久久波多结野| 亚洲高清在线观看一区| 国产精品一区二区6| 免费av在线网址| av一区二区三区四区| 欧美亚洲视频在线观看| 91精产国品一二三产区别沈先生| 免费又黄又爽又猛大片午夜| 免费一级淫片aaa片毛片a级| 亚洲成年网站在线观看| 精品欧美久久久| 日韩不卡的av| freexxx性亚洲精品| 国产精品国产三级国产普通话蜜臀| 精品日本一区二区三区| 嫩模私拍啪啪| 美日韩精品免费| 久久综合九色综合97婷婷女人| 丝袜脚交一区二区| 91麻豆精品国产综合久久久久久| 91日韩精品视频| 久久综合中文色婷婷| 少妇荡乳情欲办公室456视频| xxxx性欧美| 国外男同性恋在线看| 亚洲欧美国产三级| 亚洲国产中文字幕在线视频综合| 亚洲在线视频网站| 国产乱码精品一区二区三区av| 免费视频最近日韩| 欧美视频免费看| 日本a级黄色| 中文在线视频观看| 青青草视频成人| 中文字幕欧美精品日韩中文字幕| 亚洲综合激情另类小说区| 日韩一区二区在线免费观看| 国产视频不卡| 日韩欧美a级成人黄色| 亚洲欧美在线人成swag| 欧美黄色一区二区| 人妻换人妻仑乱| a级网站在线播放| 成人影院免费观看| 99草草国产熟女视频在线| 中文在线www| 亚洲精品国产高清久久伦理二区| 国产粉嫩在线观看| 成人免费xx| 国产日产一区二区| 日韩精品第二页| 亚洲偷熟乱区亚洲香蕉av| 在线免费观看日本一区| 男人的天堂免费在线视频| 比比资源-先锋影音资源站| 麻豆精品视频在线原创| 国内精品免费在线观看| 香港欧美日韩三级黄色一级电影网站| 国产精品视频一区二区免费不卡| 国产一区二区三区视频免费| 电影网一区二区| 香蕉自在线视频| 欧美色图五月天| 久久这里只有精品6| 四虎地址8848| 人妻丰满熟妇aⅴ无码| 欧美视频在线免费播放| 佐山爱痴汉视频一区二区三区| 成人做爰视频网站| 色综合久久88色综合天天| 绯色av一区二区| 国产激情视频在线观看| 91色porny蝌蚪| 国产又黄又粗视频| 在线一区视频| 久久夜色精品一区| 久久久国产亚洲精品| 亚洲精品不卡在线观看| 日本视频在线免费观看| 国产精品视频白浆免费视频| 美女高潮视频在线看| 男生女生差差差的视频在线观看| 国产在线播放观看| 国内成人免费视频| 99在线无码精品入口| 黄页网站在线观看免费| 久久看人人摘| 日韩 欧美 综合| 亚洲男人都懂的网站| 中文字幕剧情在线观看| 欧美色视频一区二区三区在线观看| 在线播放日本| 日韩网站免费观看| 久久久久久久久久久久网站| 少妇aaaaa| 亚洲国产精品久久精品怡红院| 国产亚洲自拍一区| 免费看亚洲片| 好吊妞www.84com只有这里才有精品| 亚洲香蕉av在线一区二区三区| 无码人妻精品一区二区中文| 中文字幕人妻一区二区三区| 亚洲 欧美 自拍偷拍| 亚洲一二三四五| 51vv免费精品视频一区二区| 最近日韩中文字幕| а 天堂 在线| 精品欧美日韩| 久久91精品国产91久久久| 国产强被迫伦姧在线观看无码| 神马午夜一区二区| 色综合天天综合网中文字幕| 永久免费精品影视网站| 1区1区3区4区产品乱码芒果精品| av激情亚洲男人天堂| 日韩久久久精品| 欧美精品一区二区在线播放| 亚洲国产视频网站| 欧美日韩爆操| h版电影在线播放视频网站| 在线免费看视频| 一区二区三区国| 国产欧美日韩综合精品| 善良的小姨在线| 黄色裸体一级片| 精品国产髙清在线看国产毛片| 99精品在线视频观看| 最新中文字幕一区| 免费欧美日韩国产三级电影| 国产成人午夜性a一级毛片| 色狠狠一区二区三区香蕉| 最近中文字幕免费在线观看| 国产亚洲一区在线播放| 亚洲一区二区三区高清视频| 国产婷婷色一区二区在线观看| 日韩亚洲一区中文字幕| 欧洲一区二区视频| 国产黄色网页| 中文字幕在线乱| 亚洲成人第一网站| 欧美黄色一级视频| 日韩av在线不卡| 相泽南亚洲一区二区在线播放| 国产精品99一区二区三区| 最新在线地址| 手机看片福利盒子久久| 成熟丰满熟妇高潮xxxxx视频| 国产亚洲成aⅴ人片在线观看| 玖玖精品在线| 精品人伦一区二区| 欧美人妻精品一区二区免费看| 国产精品国精产品一二| 亚洲精品一区在线观看香蕉| 99精品视频一区二区三区| 国产精品久久久久久亚洲伦| 久久中文字幕人妻| 中文字幕av中文字幕| 亚洲视频免费观看| 国产精品亚洲欧美在线播放| 中出在线观看| 蜜桃国内精品久久久久软件9| 激情成人中文字幕| 欧美性一区二区| 91福利视频导航| 99久久婷婷国产一区二区三区| 亚洲大片av| 国产二区视频在线观看| 岛国av免费在线| 99久久人妻无码精品系列| 精品国产亚洲一区二区在线观看| av不卡一区二区三区| 伊人一区二区三区| 国产麻豆精品视频| 极品蜜桃臀肥臀-x88av| 亚洲三区四区| a视频网址在线观看| 欧美成人精品高清在线播放| 91久久久久久国产精品|