gpt4 book ai didi

java - 确定每行代码的成本和时间并计算时间复杂度

转载 作者:行者123 更新时间:2023-12-02 09:07:54 25 4
gpt4 key购买 nike

我很难找到这些代码行的成本和时间,任何人都可以帮助我。我知道合并排序的时间复杂度通常为 O (n log2 n) 但我很难列出每行的时间,例如 C1、C2、C3 的成本...

合并排序程序的代码片段

public class MergeSort {
public static int[] mergeTwoSortedArrays(int[] one, int[] two) {
int[] sorted = new int[one.length + two.length];
int i, j, k = 0;

while (i < one.length && j < two.length) {
if (one[i] < two[j]) {
sorted[k] = one[i];
k++;
i++;
} else {
sorted[k] = two[j];
k++;
j++;
}
}

if (i == one.length) {
while (j < two.length) {
sorted[k] = two[j];
k++;
j++;
}
}

if (j == two.length) {
while (i < one.length) {
sorted[k] = one[i];
k++;
i++;
}
}
return sorted;
}

public static int[] mergeSort(int[] x, int left, int right) {
if (left == right) {
int[] br = new int[1];
br[0] = x[left];
return br;
}

int mid = (left + right) / 2;
int[] fh = mergeSort(x, left, mid);
int[] sh = mergeSort(x, mid + 1, right);
int[] merged = mergeTwoSortedArrays(fh, sh);
return merged;
}
}

最佳答案

嗨,当您调用该函数时,您需要做的是编写此代码并调用该函数。

    long start = System.currentTimeMillis(); 

// start of function
// enter the values
mergeTwoSortedArrays(int[] one, int[] two) ;

// end of function

// ending time
long end = System.currentTimeMillis();
System.out.println("time taken by the function " +
(end - start) + "ms");

对下一个函数做同样的事情...希望它能帮助你...这是一个可以更好地帮助您的链接

访问https://beyondcorner.com/calculate-time-complexity-algorithms-java-programs/

关于java - 确定每行代码的成本和时间并计算时间复杂度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59657492/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com