나는 다음과 같은 알고리즘을 탐험하고 이러한 경우가 발생할 때를 이해하는 데 문제가 있습니다. 분류 소문을 제외하고. 여기 는 계산 종류에 대한 이해, 그리고 나는 가능하면 다른 두 알고리즘에 대한 답변을 어떻게 싶습니다 당신이되고 싶은 정보 간격이 큰 차이가있는 경우 선형 시간에 실행 종류의 계산을 정렬. 예를 들어 1, 10^5 및 545 등은 큰 배열
C++에서 bucketsort 알고리즘을 만들려고하는데 전혀 작동하지 않습니다. 매번 실행하면 많은 새로운 수를 추가합니다. 수십억에 이르는 수 많은 수의 수를 배열에 추가합니다. 아무도 이것이 왜 있는지 압니까? 여기에 코드가 있습니다. (0부터 ~ 37000까지의 임의의 숫자로 배열 100을 전달한다는 점에 유의하십시오. 그리고 삽입 정렬 함수는 완전히
나는 bucketsorting 알고리즘에 머리를 맞기 위해 노력하고 있지만 그렇게하지는 않았다. 수많은 예제를 보았다 ...하지만 이의 내가이 있다고 가정 해 봅시다 ... 작업을 얻을 수 없습니다 public class Employee {
int id; /// example: 52015
String firstname,lastname;
다음과 같이 내가 일종의 그래서 0과 100 나의 버킷 사이에 무작위로 생성 된 번호 size = 100와 배열을 정렬하는 버킷을 구현할 수 있습니다해야 :는 Bucket0: (0<=x<10)
Bucket1: (10<=x<20)
.
.
.
Bucket9: (90<=x<100)
는 지금은 뒤에 이론을 이해 버킷 정렬, 여기서 각 개별 버킷에 요소
아래 코드에서는 Bucket Sort 구현을 벤치마킹하고 있습니다. bucketsort 함수는 _bucketsort의 결과를 사용하지만 단일 목록으로 병합합니다. 놀랍게도이 과정 (Map.toList)에는 많은 시간이 걸립니다. module Main where
import System.Random
import Criterion.Main
import q
Java에서 버킷 정렬을 구현하고 있는데 입력 배열이 무작위가 아닌 오름차순 또는 내림차순으로 정렬 될 때 정렬 (오름차순)이 빠르다는 것을 알았습니다. 왜 이런거야? 내가 알기로는 배열을 통해 각 요소의 인덱스에서 "집계"배열을 증가시킵니다. 정렬 된 입력이 더 빨리 실행되는 이유를 알 수는 없지만 속도가 약 두 배 빨라진 것 같습니다. 감사
일반 질문 : 버킷 정렬이 빠른 정렬보다 유리한 이유는 무엇입니까? 숫자가 스트림에서 수신되며 내 버킷은 (1,10) (11,20)과 같습니다. 그런 다음 버킷을 정렬 한 다음 함께 정렬합니다. 정렬 된 숫자가 있습니다. OR I 배열에 넣어 다음과 퀵 버킷 정렬들을 정렬 할 수 Bestcase O (N + K) worstcase (N^2); Quickso
값을 버킷에 균일하게 배포하는 가장 좋은 방법은? 값은 가우스 분포를 사용하여 생성되므로 대부분의 값은 중앙값에 가깝습니다. CUDA에서 버킷 정렬을 구현하고 있습니다. 대부분의 값은 중앙값 근처에서 생성되기 때문에 4-5 버킷에 삽입됩니다. 많은 수의 버킷을 만들 수 있으며 3-4 버킷 대신 모든 버킷의 값을 고르게 분배하고 싶습니다.
문자열이 알파벳순으로 인덱싱 된 SQL 데이터베이스 테이블에서 부분 문자열 일치를 기준으로 검색 쿼리를 수행하려면 어떻게해야합니까? 우리는 단지의 길이에 관심 bandana (index 0-3 matched)
banana (index 0-2 matched)
banker
bad (index 0-1 matched)
bed (index 0 matche