선택 정렬 자바스크립트

| | | | | | | |

Java 정렬 선택은 목록에서 가장 작은 항목을 찾아 해당 값을 목록의 맨 위로 이동합니다. 이것은 첫 번째 목록의 모든 항목이 정렬될 때까지 반복적으로 발생합니다. 선택 항목을 정렬하면 정렬된 목록이 반환됩니다.

Java에서 목록을 어떻게 정렬했습니까? 몇 가지 옵션이 있습니다. 일반적인 옵션은 선택을 기준으로 정렬하는 것입니다.

이 가이드에서는 정렬이 무엇이며 어떻게 작동하는지 설명합니다. 또한 Java에서 일종의 선택 항목을 만드는 방법을 보여 주어 자신만의 선택 항목을 만드는 방법을 알 수 있습니다. 시작합시다!

Java 선택의 종류는 무엇입니까?

정렬 선택은 목록에서 최소 항목을 반복적으로 찾아 목록에서 정렬되지 않은 항목의 시작 부분으로 이동합니다. 이 프로세스는 목록이 정렬될 때까지 목록의 각 항목에 대해 반복됩니다.

목록의 첫 번째 요소는 가장 작은 요소로 간주됩니다. 이 항목은 다음 항목과 비교됩니다. 다음 요소가 더 작으면 요소를 바꿉니다. 이 알고리즘은 마지막 요소에 도달할 때까지 최소 요소를 찾습니다. 그런 다음 프로그램은 가장 작은 항목을 목록의 맨 위로 이동합니다.

어떤 종류의 선택에서 목록에는 두 부분이 포함됩니다. 정렬된 목록과 정렬되지 않은 목록입니다. 항목이 정렬되면 하위 테이블에서 하위 테이블이 정렬되지 않은 정렬로 이동합니다.

목록을 오름차순 또는 내림차순으로 정렬할 수 있습니다.

정렬 기준을 사용할 때 selection?

선택 유형은 작은 목록을 정렬해야 할 때 최적입니다. 실제로 큰 목록을 정렬하는 더 효율적인 방법이 있습니다. 병합 정렬, 삽입 정렬 및 빠른 정렬과 같은 알고리즘은 Java 프로그래밍에서 선택 정렬보다 더 효율적입니다.

한 가지 유형의 선택은 다음과 같은 경우에 가장 잘 작동합니다. n 모든 배열 요소를 확인해야 합니다. 목록의 항목이 거의 또는 전혀 정렬되지 않은 경우입니다. 선택 정렬은 일반적으로 더 이해하기 쉬운 정렬 버블을 대체합니다.

선택 유형은 어떻게 작동합니까?

먼저 무엇을 알지 못하고 Java에서 알고리즘을 구현하려고 시도하는 것은 의미가 없습니다. 그것은 우리의 알고리즘이 하기를 원한다는 것입니다. 목록을 순서대로 정렬하기 위해 선택 단계를 따라 시작하겠습니다.

다음을 고려하십시오. 정렬되지 않은 테이블:

17 14 9 12

선택 정렬은 첫 번째 항목을 목록에서 가장 작은 항목으로 설정합니다. 프로그램이 비교할 때마다 변경되는 임시 값입니다. 이 값은 자체 변수에 저장됩니다.

최소 = 17


17 14 9 12

"최소" 요소는 두 번째 요소와 비교됩니다. 이 요소는 네트워크의 순서가 지정되지 않은 부분에 있습니다. .. 정렬된 항목 뒤의 각 항목은 정렬되지 않음

두 번째 항목이 "item" m inimo "보다 작다고 가정합니다. 이 경우 "minimum" 요소 " 요소의 값이 값으로 설정됩니다. 두 번째 요소의. 14는 17보다 작으면 새로운 최소값은 14가 됩니다.

최소 = 14


17 14 9 12

이 과정은 각 항목에 대해 반복됩니다. 우리 목록에서. 9는 14보다 작습니다. 따라서 "최소" 값은 9가 됩니다. 9는 12보다 작지 않으므로 최소 값은 동일하게 유지됩니다.

반복 후 목록에서 9가 가장 작은 숫자임을 알 수 있습니다. 이 요소는 목록의 맨 위로 이동됩니다.

이 프로세스는 정렬되지 않은 첫 번째 항목부터 다시 시작됩니다. 따라서 다음 A 시리즈 비교는 17로 시작합니다.

  • 17은 최소값과 같습니다.
  • 우리 프로그램은 17에서 14를 비교합니다. "최소" 값입니다. 14가 됩니다.
  • 우리 프로그램은 14를 12와 비교합니다. "minimum"의 값은 12가 됩니다.
  • 우리 프로그램은 목록의 정렬된 항목 끝에 12를 전달합니다.
  • li>

목록은 다음과 같습니다.

9 17 14 12
9 12 17 14

이 프로세스는 목록이 주문될 때까지 반복됩니다. 알고리즘 실행이 완료되면 다음 목록이 반환됩니다.

9 12 14 17

목록은 오름차순으로 정렬됩니다.

Java에서 일종의 선택을 만드는 방법

일종의 선택이 작동하는 방식을 아는 것은 한 가지입니다. 건설의 또 다른 것이다. 연습

설정 프로그램 실행

selection_sort.java라는 파일을 만듭니다. Java 배열 라이브러리 를 코드로 가져오는 것부터 시작하겠습니다.

이 라이브러리는 나중에 코드에서 사용합니다. 이를 사용하여 정렬된 범위를 문자열로 변환하여 콘솔에 출력할 수 있습니다.

정렬 함수 생성

다음으로 클래스를 선언하고 메소드를 생성하겠습니다. 정렬을 선택하려면 selection_sort.java 파일에 다음을 추가하세요.

클래스에서 정렬을 수행하는 sortNumbers라는 메서드를 정의했습니다. 배열의 길이를 계산하는 것으로 시작하겠습니다. 배열의 길이를 Java 변수에 저장합니다.

다음으로 유용한 자바 루프 . 이 주기는 목록의 각 항목을 순환합니다. 이 루프 내부에는 목록의 첫 번째 요소인 최소 요소가 있습니다.

다음으로, 최소 요소를 목록의 각 요소와 비교하기 위해 다른 루프를 실행합니다.

루프에서 읽은 숫자가 최소 숫자보다 작으면, "최소값"은 해당 숫자가 됩니다. 루프에서 "숫자"는 최소값을 비교하는 숫자의 인덱스 값을 나타냅니다.

최소값이 다음과 비교되면 목록의 각 숫자, 내부 중지에 대한 루프입니다. 그런 다음 최소 숫자가 목록의 모든 정렬된 숫자 뒤에 이동합니다.

정렬 함수 호출

우리 코드는 아직 아무 작업도 수행하지 않습니다. . 아직 클래스를 호출하지 않았으며 정렬할 목록을 제공했습니다.

목록의 sortNumbers 메소드에 다음 코드를 추가하세요.

메인 메소드에서 toSort라는 유형 요소 목록을 선언했습니다. 그런 다음 newSort라는 SelectionSort 클래스의 인스턴스를 초기화합니다. 이를 사용하여 sortNumbers 메서드를 호출합니다. 이 메서드는 toSort

sortNumbers 메소드 포함 가 실행되면 정렬된 배열을 콘솔에 인쇄합니다. 배열을 문자열 목록으로 변환하는 Arrays.toString () 메서드를 사용하여 이 작업을 수행합니다.

실행해 보겠습니다. 우리의 코드:

목록이 정렬되었습니다.

Java 정렬 선택: 값을 내림차순으로 정렬

값을 정렬할 수 있다는 점은 흥미롭습니다. 내림차순으로 이렇게 하려면 sortNumbers 메서드에서 다음 코드 줄을 바꾸세요.

이 코드 사용:

이 코드는 "최소" 값이 루프에 대한 액세스 권한보다 큰지 확인합니다. 이는 "최소" 값이 가장 낮은 값이 아닌 목록의 가장 높은 값을 반영한다는 것을 의미합니다.

혼동을 피하기 위해 목록을 정렬하는 경우 "최소"를 "최대"로 이름을 변경해야 합니다. 내림차순입니다.

그렇습니다. 선택 알고리즘에 의한 정렬을 사용하여 Java에서 목록을 조정했습니다.

Java 선택에 의한 정렬은 얼마나 복잡한가요?

평가할 때 고려해야 할 세 가지 시간 복잡성이 있습니다. 연산. 최선의 경우, 최악의 경우 및 평균의 경우

O(n ^ 2)의 최선, 평균 및 최악의 경우 선택 복잡도를 정렬합니다. 이것은 목록의 항목 수가 증가함에 따라 알고리즘이 기하급수적으로 더 많은 시간을 차지함을 의미합니다.

알고리즘의 복잡성 때문에 혼란스럽습니까? Big O 표기법에 대한 2부작 시리즈 를 확인하십시오. 이것은 알고리즘의 복잡성을 설명하기 위해 사용하는 표기법입니다.

결론

선택 정렬은 데이터 목록을 정렬하는 효과적인 방법입니다. 정렬되지 않은 목록에서 가장 작은 항목을 선택하고 정렬되지 않은 목록의 맨 위로 이동하여 작동합니다. 이 과정은 목록이 정렬될 때까지 반복됩니다.

Is - Java 개발자가 되고 싶은 것은 무엇입니까? Java 학습 가이드 를 확인하십시오. 이 가이드에서는 최고의 온라인 코스 및 학습 리소스에 대한 최고의 학습 팁과 조언을 찾을 수 있습니다.

선택 정렬 자바스크립트 exp: Questions

선택 정렬 자바스크립트 find: Questions

Shop

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Best laptop for Zoom

$499

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method