PHP에서 배열의 중앙값을 찾는 방법

Patricia Arquette
풀어 주다: 2023-06-12 14:51:40
원래의
1596명이 탐색했습니다.

PHP에서 배열의 중앙값을 찾는 방법: 1. 정렬 후 중앙값을 구하고 먼저 "sort()" 함수를 사용하여 정렬한 다음 중간값을 구합니다. 2. 배열 함수를 사용하여 중앙값을 찾습니다. , 먼저 "count()" 함수를 사용하여 배열의 길이를 얻은 다음 "array_slice()" 함수를 사용하여 배열에서 중간 세그먼트를 제거하고 마지막으로 "array_sum()" 함수를 사용하여 합산 및 나눗셈을 수행합니다. 3. 정렬하지 않고 중앙값을 찾으려면 "QuickSelect" 방법을 사용하십시오.

PHP에서 배열의 중앙값을 찾는 방법

이 튜토리얼의 운영 체제: windows10 시스템, PHP8.1.3 버전, DELL G3 컴퓨터.

PHP에서 배열의 중앙값을 찾는 세 가지 방법이 있습니다:

방법 1: 정렬 후 중앙값을 가져옵니다.

이 방법은 상대적으로 간단합니다. 배열을 정렬한 다음 중간값만 가져오면 됩니다. 값. . 그러나 이 방법은 정렬의 시간 복잡도가 O(nlogn)이라는 명백한 단점이 있습니다. n이 클 경우 속도가 상대적으로 느려집니다.

PHP는 배열을 정렬할 수 있는 sort() 함수를 제공하며, 이 함수를 사용하여 이를 달성할 수 있습니다.

코드 예:

function get_median($arr) { sort($arr); $count = count($arr); $middle = floor(($count - 1) / 2); if ($count % 2 == 0) { $median = ($arr[$middle] + $arr[$middle + 1]) / 2; } else { $median = $arr[$middle]; } return $median; }
로그인 후 복사

방법 2: 배열 함수를 사용하여 중앙값 찾기

PHP는 배열의 중앙값을 계산하는 데 사용할 수 있는 몇 가지 배열 함수를 제공합니다. 구체적인 방법은 먼저 count() 함수를 사용하여 배열의 길이를 얻은 다음 array_slice() 함수를 사용하여 배열에서 중간 세그먼트를 꺼내고 마지막으로 array_sum() 함수를 사용하여 합산하는 것입니다. 그런 다음 길이로 나눕니다. 이 방법은 더 간단하고 빠릅니다.

코드 예:

function get_median($arr) { sort($arr); $count = count($arr); $middle = floor(($count - 1) / 2); $median = ($count % 2 == 0) ? (array_sum(array_slice($arr, $middle, 2)) / 2) : $arr[$middle]; return $median; }
로그인 후 복사

방법 3: 빠른 선택 알고리즘

위의 두 방법 모두 배열 정렬이 필요하므로 시간 복잡도가 상대적으로 높습니다. 실제로 정렬하지 않고 중앙값을 찾을 수 있는 QuickSelect라는 메서드가 있습니다. 빠른 선택 알고리즘은 빠른 정렬 알고리즘과 많은 유사점이 있지만 빠른 정렬의 일부만 필요하므로 시간 복잡도는 O(n)입니다.

코드 예:

function get_median($arr) { if (count($arr) % 2 == 0) { $k = count($arr) / 2; } else { $k = (count($arr) + 1) / 2; } return quick_select($arr, $k); } function quick_select(&$arr, $k) { if (count($arr) == 1) return $arr[0]; $p = $arr[0]; $f = $l = array(); foreach ($arr as $v) { if ($v < $p) $f[] = $v; elseif ($v > $p) $l[] = $v; } if ($k <= count($f)) { return quick_select($f, $k); } elseif ($k > count($arr) - count($l)) { return quick_select($l, $k - (count($arr) - count($l))); } else { return $p; } }
로그인 후 복사

위는 배열의 중간 값을 얻는 세 가지 방법입니다. 다양한 방법은 다양한 시나리오에 적합합니다. 여러 중간 값을 가져와야 하는 경우 위 방법을 변형하여 사용할 수 있습니다. 어떤 방법을 사용하든 배열을 더 잘 처리하려면 먼저 배열의 기본 작동을 이해해야 합니다.

위 내용은 PHP에서 배열의 중앙값을 찾는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!