Czy mógłby ktoś jakoś zrozumiale wytłumaczyć działanie tego algorytmu?
Dane:
k — liczba naturalna,
A[1...2k] — tablica liczb całkowitych.
W załączniku jest pełen algorytm.
Czy mógłby ktoś jakoś zrozumiale wytłumaczyć działanie tego algorytmu?
Dane:
k — liczba naturalna,
A[1...2k] — tablica liczb całkowitych.
W załączniku jest pełen algorytm.
Algorytm częściowo sortuje podaną tablicę. Powiedz czego nie rozumiesz, bo nie chce mi się pisać/mysleć, leniwa jestem.
function algo(A)
n=1
for i in 1:log(2,length(A))
n=2n
end
s=1
while s<n
j=1
while j<n
if A[j]>A[j+s]
A[j],A[j+s]=A[j+s],A[j]
end
j=j+2s
end
s=2s
end
A
end
takie coś ? dla drugiego wychodzi [1,3,2,4]
function algo(A)
n=1
for i in 1:log(2,length(A))
n=2n
end
s=1
while s<n
j=1
while j<n
if A[j]>A[j+s]
A[j],A[j+s]=A[j+s],A[j]
end
j=j+2s
end
s=2s
end
A
end
sorka zły znacznik *
To jest kod w Julii i nie będę go tłumaczył bo nie rozumiem jego celu, komentować jak nie rozumiem też lipa.
Musisz sobie prześledzić krok po kroku.
dla [2, 3, 4, 1] wychodzi [1,3,2,4]
Co robisz:
nie wiem czy zrozumiesz coś z tego, po prostu jak na matematyce sobie liczysz po kolei, żadna filozofia.
ahahah tu macie cały kod
function algo(A)
n=1
for i in 1:log(2,length(A))
n=2n
end
s=1
while s<n
j=1
while j<n
if A[j]>A[j+s]
A[j],A[j+s]=A[j+s],A[j]
end
j=j+2s
end
s=2s
end
A
end
y1 = algo([4,3,1,2])
y2 = algo([2,3,4,1])
y3 = algo([1,2,3,4,5,6,7,8])
y4 = algo([8,7,6,5,4,3,2,1])
y5 = algo([4,5,6,1,8,3,2,4])
print("$y1\n$y2\n$y3\n$y4\n$y5")
tutaj wyniki
[1,4,3,2]
[1,3,2,4]
[1,2,3,4,5,6,7,8]
[1,8,7,6,5,4,3,2]
[1,5,4,6,2,8,3,4]
czyli rzeczywiście zaczyna sortować ale celu nie znam.