일반적인 문제 버킷 정렬이란 무엇입니까?

버킷 정렬이란 무엇입니까?

Jun 29, 2020 am 10:42 AM
버킷 정렬

버킷 정렬은 배열을 제한된 수의 버킷으로 나누어 작동하는 정렬 알고리즘입니다. 버킷 정렬은 정렬할 배열의 값이 고르게 분포될 때 비둘기집 정렬의 귀납적 결과입니다. 선형 시간이지만 버킷 정렬은 비교 정렬이 아니며 "O(n log n)" 하한의 영향을 받지 않습니다.

버킷 정렬이란 무엇입니까?

Bucket Sorting

N개의 키워드 값 범위가 0에서 M-1 사이이고 M이 N보다 훨씬 작은 것으로 알려진 경우 버킷 정렬 알고리즘은 "버킷"을 생성합니다. " 각 값에 대해 즉 M개의 버킷을 생성합니다. N개의 키워드를 스캔할 때 각 키워드를 해당 버킷에 넣은 다음 버킷 순서대로 수집합니다. 자연스럽게 질서정연해집니다

소개:

버킷 정렬, 소위 빈 정렬(bin sort)은 배열을 제한된 수의 버킷으로 나누어 작동하는 정렬 알고리즘입니다. 각 버킷은 개별적으로 정렬됩니다(다른 정렬 알고리즘을 사용하거나 버킷 정렬을 계속해서 반복적으로 사용할 수 있음). 버킷 정렬은 비둘기집 정렬의 귀납적 결과입니다. 버킷 정렬은 정렬할 배열의 값이 고르게 분포되어 있을 때 선형 시간(Θ(n))을 사용합니다. 그러나 버킷 정렬은 비교 정렬이 아니며 O(n log n) 하한의 영향을 받지 않습니다.

Definition

가정: 입력은 무작위 프로세스에 의해 생성된 간격 [0, 1)에 균일하게 분포된 실수입니다. 간격 [0, 1)을 동일한 크기의 n개의 하위 간격(버킷)으로 나눕니다. 각 버킷 크기는 1/n입니다: [0, 1/n), [1/n, 2/n), [2/n , 3/n),…,[k/n, (k+1)/n),…n개의 입력 요소를 이 버킷에 배포하고 버킷의 요소를 정렬한 다음 버킷을 순서대로 연결하여 0 ≤A를 입력합니다. [1 ..n] <1 보조 배열 B[0..n-1]은 버킷(연결된 목록)을 가리키는 포인터 배열입니다.

위 내용은 버킷 정렬이란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)