정렬-병합 알고리즘
병합 정렬은 정렬 알고리즘 입니다. 하나로 정렬된 두 개의 목록을 연결하는 것으로 구성됩니다. 그 원칙은 deviser pour régner 방법을 기반으로 합니다. sort-to-merge의 장점은 두 목록이 동시에 병합되므로 threads.이 알고리즘은 복잡성(시간 및 메모리)의 효율성과 목록 정렬로 유명합니다.
배열에 하나의 요소만 포함될 때까지 시작 배열을 두 개의 하위 배열로 재귀 적으로 통화합니다. 요소가 서로 독립적으로 정렬되면 그 시점부터 backtracking 가 시작되고 하위 테이블을 병합합니다. 정렬된 시작 보드를 얻을 때까지 하나로. 병합은 연속적인 비교로 구성됩니다.
예
다음 테이블을 정렬한다고 가정합니다: [ 38, 27, 43, 3, 9, 82, 10]
알고리즘
TriFusion 알고리즘(T, 왼쪽, 오른쪽);
T: 값 테이블;
왼쪽, 오른쪽 : 정수;
center: 정수;
TOP
IF (왼쪽 < 오른쪽) THEN
← 중앙(왼쪽 + 오른쪽) / 2;
TriFusion(T, 왼쪽, 가운데);
TriFusion(T, 중앙 + 1, 오른쪽);
MERGE(T, 왼쪽, 가운데, 오른쪽);
FSI
FIN.