>  기사  >  Java  >  Java에서 버블 정렬, 선택 정렬, 빠른 정렬을 구현하는 방법

Java에서 버블 정렬, 선택 정렬, 빠른 정렬을 구현하는 방법

PHPz
PHPz앞으로
2023-05-03 14:43:061639검색

1.버블 정렬

버블 정렬(버블 정렬) 배열의 모든 요소를 ​​반복적으로 살펴보고 더 이상 숫자가 남지 않을 때까지 2개씩 비교하는 가장 간단한 종류의 정렬입니다. 교환하면 전체 배열이 정렬될 때까지 이 번호를 끝내고 다음 번호로 이동합니다. 하나씩 떠다니기 때문에 버블 정렬이라고 합니다. 이중 루프 시간 O(n^2)

알고리즘 설명:

  1. 인접한 두 데이터를 비교합니다. 첫 번째 숫자가 두 번째 숫자보다 크면 두 숫자를 바꾸세요

  2. 인접한 각 숫자에 대해 1과 동일한 작업을 수행하여 팀의 시작부터 팀의 끝까지 마지막 숫자는 다음과 같습니다. 가장 큰 숫자.

  3. 마지막 요소를 제외한 모든 요소에 대한 작업입니다.

  4. 주문이 완료될 때까지 1~3단계를 반복하세요.

코드 시각화:

Java에서 버블 정렬, 선택 정렬, 빠른 정렬을 구현하는 방법

코드 구현:

Java에서 버블 정렬, 선택 정렬, 빠른 정렬을 구현하는 방법

2. 선택 정렬

선택 정렬은 키가 가장 큰 값인지 가장 작은 값인지 결정하여 직관적인 정렬입니다. 그런 다음 정렬된 숫자에서 가장 큰 값이나 가장 작은 값을 찾아 해당 위치로 바꿉니다. 차선책을 선택하세요. 이중 루프 시간 복잡도는 O(n^2)

알고리즘 설명:

  1. 길이 N의 정렬되지 않은 배열에서 처음으로 n-1 숫자를 탐색하여 가장 작은 합계를 먼저 찾습니다.

  2. 다음 숫자부터 시작하여 n-2 숫자를 두 번째로 탐색하고, 가장 작은 숫자를 찾아 두 번째 숫자와 교환합니다.

  3. 가장 작은 숫자의 n-1번째 순회와 n-1번째 숫자가 바뀔 때까지 위의 작업을 반복하여 정렬이 완료됩니다.

알고리즘 시각화:

Java에서 버블 정렬, 선택 정렬, 빠른 정렬을 구현하는 방법

코드 구현:

<code><p><img src="https://img.php.cn/upload/article/000/000/164/168309619043778.png" alt="Java에서 버블 정렬, 선택 정렬, 빠른 정렬을 구현하는 방법"><br></p></code>
3. Quick Sort

Quick Sort(QuickSort)는 안정성 요소를 제외하고 가장 일반적으로 사용되는 정렬입니다. 두 가지 활용 방법을 소개하고자 합니다. 하나는 stdlib.h 헤더 파일의 qsort 함수에 직접 구현하는 것인데, 이는 일반 코드 작성과 동일합니다. 배열 정렬은 qsort(배열 이름, 길이, sizeof(첫 번째 숫자 길이), compInc/comoDec)를 사용하여 구현됩니다. 후자는 재귀 호출 형태입니다.

알고리즘 설명:

  1. 순서에서 기본 요소를 선택하세요.

  2. 순서를 재정렬하여 벤치마크보다 작은 것을 모두 벤치마크 앞에 놓고 뒤에 넣습니다(양쪽에 같은 크기가 있을 수 있음). 완료되면 벤치마크가 중앙에 있게 됩니다. 파티션.

  3. 재귀 호출을 통해 기본 요소와 폭우 기본 요소보다 작은 하위 시퀀스를 정렬합니다.

알고리즘 시각화:

Java에서 버블 정렬, 선택 정렬, 빠른 정렬을 구현하는 방법

코드 구현:

Java에서 버블 정렬, 선택 정렬, 빠른 정렬을 구현하는 방법

위 내용은 Java에서 버블 정렬, 선택 정렬, 빠른 정렬을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제