따라서이 프로그램은 3 개의 서로 다른 텍스트 파일을 사용하여 실행 삽입, 셸 및 빠른 정렬을 테스트하기로되어 있지만 이해가되지 않는 이유로 항목 수가 부족한 결과가 표시됩니다. clock()을 사용하여 각 정렬을 실행하는 데 걸리는 시간 (초)과 클럭주기를 표시합니다. 제발, 왜 아무도 작동하지 않는다고 말할 수 있습니까? 나는 곤두박질 친다! #incl
C에서 셸 정렬을 구현했으며 Bubble 정렬보다 약 3 배 빠릅니다. 여기 내 정렬 지속 시간은 초 단위 : For list of 100 integers:
BubbleSort: 0.000333
ShakeSort: 0.000282
QuickSort: 0.000048
QuickSort_Iter: 0.000063
InsertionSort: 0.0001
, 나는 요소 비교 수를 계산해야합니다. 즉, 비교가 sort() 메서드의 for 루프 또는 less() 메서드 내에서 수행되는지 확신 할 수 없습니다. 도와 주셔서 정말 감사합니다. public class Shell {
private static int compares;
// This class should not be instantiated.
pr
버블 정렬 및 삽입 정렬과 비교할 때 셸 정렬에서 시간 복잡성이 적은 이유는 무엇입니까? 우리는 어떻게 시간 복잡성을 계산할 수 있습니까? 즉, 우리는 어떤 기준에서 우리 코드가 높거나 낮은 시간 복잡성이라고 생각합니까? 우리는 우리의 코드가 높거나 낮은 시간 복잡도 N 요소와 알고리즘을 정렬 고려하는 간단한 일이 생각 무엇을 기준으로 귀하의 질문에 에 대
저는 C가 처음이에요. C에서 hibbard 증가분을 사용하여 셸 정렬을 사용하여 실험하고 싶습니다. 그리고 최악의 경우를 테스트하기 위해 입력에 따라 항상 역 배열을 만듭니다. 크기. 나는 시간 복잡성 O (n^1.5) 다음의 실행 시간을 볼 것으로 예상한다. 그러나, 나의 출력은 어떻게 든 시간 복잡성 O (n)을 따른다. 다음은 내 코드입니다. 누군가
자바 스크립트에서 여러 정렬 알고리즘을 구현하려고하는데, 왜 내 쉘 정렬이 너무 느린 지 알 수 없습니다. 내 병합 정렬보다 6 배 느리고 내 삽입 정렬보다 약간 빠릅니다. 온라인으로 다른 구현을 보았지만 명확하고 읽기 쉽도록 (예 : noobs 용 블로그가 있음)보다 집중적으로 노력하고 있습니다. 빠른 구현은 내 목적에 너무 간결합니다. 어떻게하면 일반
셸 정렬 알고리즘의 실행 단계를 단계별로 계산하는 방법? shellsort(itemType a[], int l, int r){
int i, j, k, h;
itemType v;
int incs[16] = { 1391376, 463792, 198768, 86961, 33936,
13776, 4592, 1968, 86
이 코드는 Ritchie가 ANSI C로 작성한 것입니다.이 코드에는 내 의문의 여지가있는 주석을 사용했습니다. 또한 YouTube에서 쉘 정렬을 배웠고 실제로 작동하는 방법을 이해했지만이 코드는 이러한 루프를 매우 혼란스럽게합니다 .... 왜 그들은 gap = n/2를 사용 했습니까? 및 Plz은 ..... 여기에서하고 이러한 루프 :( void shel
저는 코딩이 새로 생겼습니다.이 코드로 무작위로 많은 정수 배열을 생성하고 특정 셸 정렬을 선택한 다음 배열이 있는지 테스트 할 수있게되었습니다. 정확하게 정렬되었습니다. 내가 잘못 뭘하는지 모르는 #include <iostream>
#include <stdlib.h>
#include <time.h>
#define LISTLEN 100000
usin
스레드 라이브러리를 사용하여 병렬 셸 정렬을 구현하려고합니다. 나는, THN 부분으로의 int의 초기 배열을 나누어 분류를 THN 스레드에서 마지막으로 함께 병합 할 필요가있다. 아래의 코드는 병합이없는 부분입니다. 왜냐하면 처음에는 스레드의 정렬이 제대로 작동하지 않기 때문입니다 (경고 또는 실수가 없으며 int는 정렬되지 않은 상태로 유지됩니다). 간단