가정하자 우리가 정렬 방법 :분할에 대한 정확성 증명 정복 종류
void DD_sort(int a[], int x, int y, int size_a)
{
if(x == y){
return;
}
else if(y == x+1){
if(a[x] > a[y]){
/* swap the content */
return;
}
}
else{
int s = floor((y+1-x)/3);
DD_sort(a, x, y-s, s);
DD_sort(a, x+s, y, s);
DD_sort(a, x, y-s, s);
}
}
어떤 방법 우리는 정렬 알고리즘이 제대로 또는 잘못 배열을 정렬하는 것을 보여주기 위해 사용할 수 있습니까? 이 문제에 대한 체계적인 접근 방법이 있습니까? 나는 size_a == 1과 size_a == 2의 경우에 작동한다는 것을 이해한다. 그러나 size_a가 30이라고한다면, 우리는 ~ 2/3 크기의 배열을 반복적으로 호출하여 정렬 방법을 호출한다. 마치 작동하는 것처럼 보이지만 형식적으로 표시하는 방법을 모르겠습니다.
x와 y에 주어진 초기 값은 무엇입니까? –
@EmanuelePaolini x = 0이고 y = size_a-1입니다. –
무엇이'size_a'입니까? 함수의 어디에서나 실제로 사용되지 않는 매개 변수의 목적은 무엇입니까? – AnT