> 일반적인 문제 > 병합 정렬의 용도는 무엇입니까?

병합 정렬의 용도는 무엇입니까?

藏色散人
풀어 주다: 2020-06-30 09:41:15
원래의
3740명이 탐색했습니다.

병합 정렬은 병합 연산을 기반으로 하는 효과적인 정렬 알고리즘으로 전체 순서를 정렬하는 데 사용할 수 있지만 하위 항목을 상대적으로 정렬하고 역로그를 찾는 과정에 있습니다. 병합 각 작은 구간의 역로그를 계산한 다음 큰 구간의 역로그를 계산합니다.

병합 정렬의 용도는 무엇입니까?

병합 정렬(MERGE-SORT)은 병합 작업을 기반으로 하는 효과적인 정렬 알고리즘입니다. 이 알고리즘은 분할 및 정복 방법의 매우 일반적인 응용 프로그램입니다. 이미 정렬된 하위 시퀀스를 병합하여 완전히 정렬된 시퀀스를 얻습니다. 즉, 먼저 각 하위 시퀀스를 순서대로 만든 다음 하위 시퀀스 세그먼트를 순서대로 만듭니다. 두 개의 순서 목록이 하나의 순서 목록으로 병합되는 경우 이를 양방향 병합이라고 합니다. 병합 정렬은 안정적인 정렬 방법입니다.

Usage

Sorting

(속도는 퀵 정렬에 이어 두 번째입니다. 안정적인 정렬 알고리즘입니다. 일반적으로 무질서한 시퀀스에 사용되지만 각 하위 항목은 상대적으로 정렬되어 있습니다. 신청방법은 2011년 대중화 준결승 문제 3번 "스위스바퀴" 척도 참조)

역로그를 찾아보세요

구체적인 아이디어는 병합 과정에서 각각의 작은 구간의 역로그를 계산한 후, 큰 구간의 역로그(트리 배열을 사용하여 풀 수도 있음)

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

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