[英]Sorting Algorithm Explanation Complexity and Type
這是Java中的排序算法。 我必須分析這個算法,但我對這個主題真的很陌生,不確定每一行的作用。 我知道它具有O(N²)
的復雜性,但我不明白它是什么類型。
有人可以解釋一下方法someAlgorithm()
嗎?
這是代碼:
import java.util.Arrays;
public class SomeClass {
public static void main(String[ ] args) {
int[] data = {12, 14, 13, 15, 19, 17, 16, 11, 18, 20};
System.out.println("Compute some result for the Array : " + Arrays.toString(data));
int[] result = someAlgorithm(data);
System.out.println("Resulting Array: " + Arrays.toString(result));
}
private static int[] someAlgorithm(int[] data) {
int size = data.length;
int[] result = new int[size];
for (int i = 0; i < size; i++) {
int total = 0;
for (int j = 0; j <= i; j++) {
total += data[j];
}
int average = total / (i + 1);
result[i] = average;
System.out.println("Average for iteration " + i + " is: " + average);
}
return result;
}
}
方法someAlgorithm()
的要點是它將數組data
作為輸入並創建另一個相同大小的數組result
,其中result[i]
存儲輸入數組的前i
個元素的平均值(作為int
)。
請注意,您可以保持到目前為止看到的元素的運行總和,並將該算法的復雜性相當容易地降低到
O(N)
。
此外,正如評論中提到的@Alex,這實際上與排序無關,也不是一種排序算法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.