PHP 빠 른 정렬 알고리즘 상세 설명
이곳 은 바 이 두 백과 의 그림 한 장 을 빌려 매우 형상 적 이다.
빠 른 정렬 알고리즘 은 거품 알고리즘 에 대한 최적화 이다.그의 사상 은 먼저 배열 을 분할 하고 큰 요소 수 치 를 임시 배열 에 넣 고 작은 요소 수 치 를 다른 임시 배열 에 넣 는 것 이다.마지막 으로 작은 배열 요소 와 큰 배열 요 소 를 합 친다.여기에 재 귀적 인 사상 을 썼 다.
PHP 구현
/*
*/
function quickSort($array)
{
if(!isset($array[1]))
return $array;
$mid = $array[0]; // ,
$leftArray = array();
$rightArray = array();
foreach($array as $v)
{
if($v > $mid)
$rightArray[] = $v; // $mid
if($v < $mid)
$leftArray[] = $v; // $mid
}
$leftArray = quickSort($leftArray); //
$leftArray[] = $mid; // ,
$rightArray = quickSort($rightArray); //
return array_merge($leftArray,$rightArray); //
}
거품 알고리즘 과 비교여기 서 나 는 이전에 쓴 거품 알고리즘 이 실현 한 정렬 과 비교 해 보 았 는데 이 알고리즘 이 거품 알고리즘 보다 효율 이 훨씬 높다 는 것 을 알 수 있다.
$a = array_rand(range(1,3000), 1500); // 1600 , , 1500, 。
shuffle($a); //
$t1 = microtime(true);
quickSort($a); //
$t2 = microtime(true);
echo (($t2-$t1)*1000).'ms<br/>';
require('./maopao.php'); //
$t1 = microtime(true);
maoPao($a); //
$t2 = microtime(true);
echo (($t2-$t1)*1000).'ms';
실행 결과:
12.10880279541ms
772.64094352722ms
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Laravel - 변환된 유효성 검사 규칙으로 API 요청 제공동적 콘텐츠를 위해 API를 통해 Laravel CMS에 연결하는 모바일 앱(또는 웹사이트) 구축을 고려하십시오. 이제 앱은 CMS에서 번역된 콘텐츠를 받을 것으로 예상되는 다국어 앱이 될 수 있습니다. 일반적으로 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.