>일반적인 문제 >병합 정렬은 무엇을 의미하나요?

병합 정렬은 무엇을 의미하나요?

烟雨青岚
烟雨青岚원래의
2020-06-29 10:45:354288검색

병합 정렬은 정렬된 하위 시퀀스를 병합하여 완전히 정렬된 시퀀스를 얻는 효과적인 정렬 알고리즘입니다. 병합 알고리즘이라고도 불리는 병합 연산은 두 개의 순차 시퀀스를 하나의 순차 시퀀스로 병합하는 방법을 의미합니다.

병합 정렬은 무엇을 의미하나요?

병합 정렬(MERGE-SORT)은 병합 작업을 기반으로 하는 효과적인 정렬 알고리즘입니다. 이 알고리즘은 분할 및 정복 방법(Divide and Conquer)의 매우 일반적인 응용 프로그램입니다.

완전히 정렬된 시퀀스를 얻으려면 순서가 지정된 하위 시퀀스를 병합하세요. 즉, 먼저 각 하위 시퀀스를 순서대로 만든 다음 하위 시퀀스 세그먼트를 순서대로 만듭니다.

두 개의 순서 목록이 하나의 순서 목록으로 병합되는 경우 이를 양방향 병합이라고 합니다. 병합 정렬은 안정적인 정렬 방법입니다.

병합 알고리즘이라고도 불리는 병합 연산(merge)은 두 개의 순차 시퀀스를 하나의 순차 시퀀스로 병합하는 방법을 말합니다.

Example

시퀀스 {6,202,100,301,38,8,1}

초기 상태: 6,202,100,301,38,8,1

첫 번째 병합 후: {6,202},{100,301 }, {8, 38}, {1}, 비교 횟수: 3;

두 번째 병합 후: {6,100,202,301}, {1,8,38}, 비교 횟수: 4

세 번째 병합 후: {1,6, 8,38,100,202,301}, 비교 횟수: 4;

총 비교 횟수: 3+4+4=11;

역수는 14입니다.

더 많은 관련 정보를 보려면 PHP Chinese Net 을 방문하세요. ! !

위 내용은 병합 정렬은 무엇을 의미하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.