91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

我總結的四種排序

發布時間:2020-08-05 19:24:04 來源:網絡 閱讀:498 作者:dfwasds 欄目:開發技術

    本帖為了快速牢靠的記住四種排序。


冒泡排序

冒泡排序的時間復雜度是O(n^2);

外層控制趟數,并且跟內層排序個數相關。

$arr = [1,5,4,9,11];
$n = count($arr);
$max = $n - 1;

for($i = 0; $i < $max; $i++){
    for($j = 0; $j < $max - $i; $j++){
        if($arr[$j] > $arr[$j+1]){
            $t = $arr[$j];
            $arr[$j] = $arr[$j+1];
            $arr[$j+1] = $t;
        }
    }
}

var_dump($arr);


選擇排序

選擇排序的時間復雜度是O(n^2);

$arr = [1,5,4,9,11];
$n = count($arr) - 1;

for($i = 0; $i<$n; $i++){
    $t = $i;
    for($j = $i+1; $j<$n + 1; $j++){
        if($arr[$t] > $arr[$j]){
            $t = $j;
        }
    }
    if($i != $t){
        $tmp = $arr[$i];
        $arr[$i] = $arr[$t];
        $arr[$t] = $tmp;
    }
}

var_dump($arr);


快速排序

快速排序的時間復雜度是O(nlog2^n);

$arr = [16, 2, 5, 6,19, 8, 10 , 30];

function po(&$arr, $left, $right){
	$key = $arr[$left];
	while($left < $right){
		while($left < $right && $arr[$right] >= $key){
			$right--;
		}
		if($left < $right){
			$arr[$left++] = $arr[$right];
		}
		while($left < $right && $arr[$left] <= $key){
			$left++;
		}
		if($left < $right){
			$arr[$right--] = $arr[$left];
		}
	}

	$arr[$left] = $key;
	return $left;
}

function qs(&$arr, $left, $right){
	if($left >= $right){
		return ;
	}
	$i = po($arr, $left, $right);
	qs($arr, $left, $i-1);
	qs($arr, $i+1, $right);
}
qs($arr, 0, 7);
var_dump($arr);


歸并排序

歸并排序的時間復雜度O(nlog2^n);

$arr = [9, 7, 11, 3, 5, 8, 39, 4];

function gui($arr){
	$n = count($arr);
	if($n <= 1){
	    return $arr;
	}
	$mid = intval($n/2);
	$left = array_slice($arr, 0, $mid);
	$right = array_slice($arr, $mid);
	$left = gui($left);
	$right = gui($right);
	$all = bin($left, $right);
	return $all;
}

function bin($left, $right){
    $arrC = array();
    while(count($left) && count($right)){
        $arrC[] = $left['0'] < $right['0'] ? array_shift($left) : array_shift($right);
    }
    return array_merge($arrC, $left, $right);
}

var_dump(gui($arr));


其中,快速排序和歸并排序都用到了遞歸,所以時間復雜度減少,但難度增大很多。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

南宫市| 双峰县| 双鸭山市| 黄冈市| 乌拉特中旗| 乐安县| 晋中市| 峨眉山市| 绥阳县| 桑日县| 驻马店市| 抚顺市| 宝坻区| 布尔津县| 黄梅县| 达拉特旗| 思茅市| 庆元县| 独山县| 忻州市| 荆州市| 龙陵县| 五常市| 灌南县| 成都市| 秦安县| 怀仁县| 论坛| 泰安市| 新乡市| 沅江市| 山东省| 广宁县| 仁寿县| 行唐县| 博湖县| 灵璧县| 南靖县| 军事| 乐东| 团风县|