Java에서 선택 정렬을 구현하는 방법?



이 기사는 Java에서 선택 정렬을 완전히 이해하는 데 도움이 될 것입니다.

배우고 코딩하는 가장 간단한 알고리즘 중 하나입니다. 이 기사는 Java의 선택 정렬에 대한 세부 정보를 얻는 데 도움이 될 것입니다. 이 기사에서는 다음 사항을 다룰 것입니다.

이제이 Selection Sort In Java 기사를 시작하겠습니다.





선택 정렬에서 가장 중요한 부분은 알고리즘이 두 개의 하위 배열을 유지한다는 것을 이해하는 것입니다.

  • 하나의 하위 배열은 정렬 된 배열입니다.
  • 또 다른 하위 배열은 정렬되지 않은 배열입니다.

Java- Edureka의 이미지 선택 정렬



정렬 된 하위 배열은 원래 배열의 시작 부분에 유지되는 반면 나머지 부분은 정렬되지 않은 하위 배열을 형성합니다. 알고리즘은 정렬되지 않은 배열에서 정렬 된 끝 배열의 가장 작은 요소를 이동합니다.
정확하게 말하면, 이것은 움직이지 않고 정렬되지 않은 배열의 가장 작은 요소를 정렬되지 않은 배열의 첫 번째 요소로 교체 한 다음 정렬 된 배열의 인덱스를 증가시킵니다.

더 간단하게 만들어 봅시다. 선택 정렬은 먼저 정렬되지 않은 배열에서 가장 작은 요소 (배열 [0..n], 첫 번째 반복의 전체 배열)를 찾아 첫 번째 요소와 교체합니다. 그런 다음 정렬되지 않은 배열에서 두 번째로 작은 요소 (즉, array [1..n])를 찾아 두 번째 요소로 교체하고 알고리즘은 전체 배열이 정렬 될 때까지이 작업을 계속합니다.

따라서 정렬 된 배열은 반복 할 때마다 0에서 n으로 증가하고 정렬되지 않은 배열은 각 반복에서 n 형식을 0으로 줄입니다. 알고리즘이 지속적으로 가장 작은 요소를 선택하고 올바른 위치로 교체하므로 선택 정렬이라고합니다.
시간 복잡도는 알고리즘의 효율성을 분석하는 데 가장 중요한 요소 중 하나이므로 Selection Sort의 시간 복잡도를 살펴 보겠습니다.



  • 최악의 복잡성 : O (n2)
  • 최상의 경우 복잡성 : O (n2)
  • 평균 케이스 복잡성 : O (n2)

Java의 선택 정렬에 대한이 기사로 이동

선택 정렬 알고리즘

1 단계 & minus Min_Index를 0으로 설정
2 단계 & minus 배열에서 가장 작은 요소 검색
3 단계 & minus Min_Index에있는 요소로 값으로 스왑
4 단계 & minus 다음 요소를 가리 키도록 Min_Index 증가
5 단계 (&-) 전체 배열이 정렬 될 때까지 반복

Java의 선택 정렬에 대한이 기사로 이동

선택 정렬 예

xarray [] = 15 10 99 53 36

배열 [0… 4]에서 가장 작은 요소를 찾아서 처음에있는 요소로 교체합니다.
10 15 99 53 36

arr [1… 4]에서 가장 작은 요소를 찾습니다. 15는 다음으로 가장 작은 요소이므로 다음 요소로 이동합니다.
10 15 99 53 36

arr [2… 4]에서 최소 요소를 찾아서 세 번째 요소로 교체합니다.
10 15 36 53 99

자바 인스턴스 변수는 무엇입니까

arr [1… 4]에서 가장 작은 요소를 찾습니다. 53은 다음으로 작은 요소이므로 다음 요소로 이동합니다.
10 15 36 53 99

마지막 요소는 기본적으로 올바른 위치에 있습니다.
10 15 36 53 99

이제 선택 정렬 알고리즘의 작동을 이해 했으므로 Java에서 선택 정렬을 구현하는 방법을 이해하겠습니다.

선택 Java의 정렬 방법

void sort (int array []) {int n = array.length // 정렬 된 배열의 경계를 늘리기위한 루프 (int i = 0 i

마지막으로 선택 정렬을 수행하는 완전한 Java 프로그램을 살펴 보겠습니다.

자바의 선택 정렬 프로그램

class SelectionSort {// 선택 정렬 방법 void sort (int array []) {int n = array.length for (int i = 0 i

산출:

이제 위의 Java 프로그램을 실행 한 후에 Selection Sort의 작동 방식과 Java에서 구현하는 방법을 이해했을 것입니다. 이 블로그가 유익하고 가치가 있기를 바랍니다.따라서 우리는 '자바의 선택 정렬'에 대한이 기사의 끝까지 왔습니다. 더 자세히 알고 싶다면체크 아웃 신뢰할 수있는 온라인 학습 회사 인 Edureka에서 제공합니다. Edureka의 Java J2EE 및 SOA 교육 및 인증 과정은 Hibernate & Spring과 같은 다양한 Java 프레임 워크와 함께 핵심 및 고급 Java 개념 모두에 대해 교육하도록 설계되었습니다.

질문이 있으십니까? 이 블로그의 댓글 섹션에 언급 해 주시면 가능한 한 빨리 답변을 드리겠습니다.