Java에서 병합 정렬을 수행하는 방법은 무엇입니까?



Java의 병합 정렬에 대한이 기사는 예제 프로그램의 도움으로 병합 정렬을 사용하여 요소 목록을 정렬하는 방법을 이해하는 데 도움이됩니다.

'분할 및 정복'이라는 용어에 대해 들어 본 적이 있습니까? 이 기사는이 접근 방식에 기반을두고 있습니다. 병합 정렬 먼저 문제를 하위 문제로 나눈 다음이를 병합하여 솔루션을 정복하는 '분할 및 정복'알고리즘입니다. 다음은 J의 병합 정렬 개념에 대한 전체 개요입니다. .

의 시작하자!





Java에서 병합 정렬이란 무엇입니까?

병합 정렬은 인기있는 정렬 알고리즘 분할 및 정복 접근 방식을 따릅니다. 문제는 하위 문제로 나뉘고 함께 결합되어 최종 솔루션에 도달합니다!

이제 병합 정렬 작업 중에 정확히 어떤 일이 발생합니까? 자세히 이해합시다.



병합 정렬 작업

프로세스 중에 병합 정렬이 뒤 따르는 두 단계가 있습니다.

system.exit (0)을 사용하여 프로그램을 종료 할 수 있습니다.
  • 나누기: 이 단계에서 입력 배열은 2 개의 절반으로 나뉘고 피벗은 배열의 중간 지점입니다. 이 단계는 더 이상 분할 할 절반 배열이 더 이상 없을 때까지 모든 절반 배열에 대해 반복적으로 수행됩니다.
  • 정복하다: 이 단계에서는 분할 된 배열을 아래쪽에서 위쪽으로 정렬 및 병합하고 정렬 된 배열에 도달합니다.

이 접근 방식은 문제의 하위 부분을 먼저 쉽게 정렬하여 솔루션에 도달하도록 도와줍니다.

병합 정렬의 그림 표현을 보여 드리겠습니다.



예 : 다이어그램

병합 정렬-Edureka

여기에서 병합 정렬이 어떻게 생겼는지 보았습니다. 병합 정렬의 주요 개념은 정렬하는 데 시간이 덜 걸린다는 것입니다. 이제 구현 부분으로 넘어갑니다!

이행

package MyPackage public class MergeSort {void merge (int arr [], int beg, int mid, int end) {int l = mid-beg + 1 int r = end-mid int LeftArray [] = new int [l] int RightArray [] = 새로운 int [r] for (int i = 0 i

산출:
정렬 된 배열
하나
4
17
22
2. 3
40
오분의 사
51
55
90

__init__

이것은 병합 정렬을 나타내는 Java 코드의 모습입니다. 다음 세그먼트로 이동합니다.

복잡성

복잡성은 시간 복잡성과 공간 복잡성의 두 가지 유형으로 나뉩니다. 병합 정렬의 경우 데이터는 다음과 같습니다.

복잡성

최고의 사례

평균 사례

최악의 경우

시간 복잡성

O (n log n)

O (n log n)

자바 addactionlistener (this)

O (n log n)

공간 복잡성

-

-

의 위에)

이것으로이 기사를 마무리하겠습니다. 위에서 설명한 내용이 Java 지식에 가치를 더하기를 바랍니다. 우리는 함께 자바 세계를 계속 탐구 할 것입니다. 계속 지켜봐주세요!

확인 전 세계에 걸쳐 250,000 명 이상의 만족 한 학습자 네트워크를 보유한 신뢰할 수있는 온라인 학습 회사 인 Edureka에서 작성했습니다. Edureka의 Java J2EE 및 SOA 교육 및 인증 과정은 Java 개발자가 되고자하는 학생과 전문가를 위해 설계되었습니다. 이 과정은 Java 프로그래밍을 시작하고 Hibernate & Spring과 같은 다양한 Java 프레임 워크와 함께 핵심 및 고급 Java 개념 모두에 대해 교육하도록 설계되었습니다.

질문이 있으십니까? 이 '의 코멘트 섹션에서 언급하십시오 Java에서 정렬 병합 ”블로그를 통해 가능한 한 빨리 답변을 드리겠습니다.