동일한 크기의 두 정렬된 배열의 중앙값을 구하는 PHP 프로그램

王林
풀어 주다: 2024-08-28 13:39:37
원래의
654명이 탐색했습니다.

PHP Program for Median of two Sorted Arrays of Same Size

PHP(Hypertext Preprocessor)는 웹 개발용으로 설계된 널리 사용되는 스크립트 언어입니다. 동적 및 대화형 웹 페이지를 만드는 데 널리 사용됩니다. PHP 코드는 HTML에 직접 삽입될 수 있으므로 개발자는 PHP와 HTML을 원활하게 혼합할 수 있습니다. PHP는 데이터베이스에 연결하고, 양식 데이터를 처리하고, 동적 콘텐츠를 생성하고, 파일 업로드를 처리하고, 서버와 상호 작용하고, 다양한 서버 측 작업을 수행할 수 있습니다.

PHP는 웹 애플리케이션 구축을 위한 추가 도구와 기능을 제공하는 Laravel, Symfony 및 CodeIgniter와 같은 광범위한 웹 개발 프레임워크를 지원합니다. PHP는 대규모 커뮤니티, 광범위한 문서, 풍부한 라이브러리 및 확장 에코시스템을 갖춘 오픈 소스 언어입니다.

동일한 크기의 두 정렬 배열의 중앙값을 위한 PHP 프로그램

중앙값은 데이터 세트의 상위 절반과 하위 절반을 구분하는 값입니다. 배열의 중앙값을 계산하려면 정렬된 배열의 중간 요소를 고려해야 합니다.

으아아아

출력

다음과 같은 출력이 생성됩니다.

으아아아

코드 설명

제공된 코드는 동일한 크기의 두 정렬 배열 $ar1 및 $ar2의 중앙값을 찾는 간단한 병합 기반 솔루션을 구현합니다. getMedian 함수는 두 개의 입력 배열과 크기 n을 매개변수로 사용합니다. 현재 인덱스, 카운터 및 이전 중앙값을 추적하기 위해 변수를 초기화합니다. 두 배열의 요소를 비교하면서 0부터 n까지 개수를 반복합니다. 비교 결과에 따라 이전 및 현재 중앙값을 업데이트합니다.

이 함수는 한 배열의 요소가 다른 배열의 요소보다 작은 경우를 처리합니다. 마지막으로 이전 및 현재 중앙값을 평균하여 계산된 중앙값을 반환합니다. 제공된 예에서 드라이버 코드는 $ar1 및 $ar2라는 두 개의 배열을 만들고 해당 크기를 계산합니다. getMedian 함수를 호출하여 배열의 중앙값을 찾고 결과를 인쇄합니다. 배열의 크기가 다르면 오류 메시지가 표시됩니다.

예제에서 $ar1에는 [1, 3, 5, 7, 9, 11]이 포함되고 $ar2에는 [12, 10, 8, 6, 4, 2]가 포함됩니다. 두 배열의 길이가 동일하므로 알고리즘을 진행할 수 있습니다. 배열의 요소를 비교하여 반복이 진행되고 이에 따라 중앙값이 업데이트됩니다. 마지막으로 중앙값은 (11 + 12) / 2로 계산되어 중앙값이 11.5가 됩니다. 따라서 코드의 출력은 "중앙값은 11.5"입니다.

결론

PHP는 동일한 크기로 정렬된 두 배열의 중앙값을 찾는 병합 기반 접근 방식을 제공합니다. 배열을 병합하고 가운데 두 요소를 고려함으로써 프로그램은 중앙값을 정확하게 결정합니다. 두 개의 인덱스를 사용하여 배열을 순회하고 요소를 비교하고 그에 따라 중앙값 변수를 업데이트합니다.

결과 중앙값은 배열 길이가 짝수인 경우 중간 요소의 평균이고, 홀수인 경우 중간 요소의 평균입니다. 이 효율적인 O(n) 솔루션은 PHP에서 동일한 크기로 정렬된 두 배열의 중앙값을 계산하는 안정적이고 간단한 방법을 제공합니다.

위 내용은 동일한 크기의 두 정렬된 배열의 중앙값을 구하는 PHP 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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