我需要帮助理解作者如何在Big O章节中得到问题11的答案.
问题是这样的:
以下代码打印长度为k的所有字符串,其中字符按排序顺序排列.它通过生成长度为k的所有字符串然后检查每个字符串是否已排序来完成此操作.它的运行时间是什么?
public static int numChars = 26;
public static void printSortedStrings(int remaining) {
printSortedStrings(remaining, "");
}
public static void printSortedStrings(int remaining, String prefix) {
if (remaining == 0) {
if (isInOrder(prefix)) {
System.out.println(prefix); // Printing the string
}
} else {
for (int i = 0; i < numChars; i++) {
char c = ithLetter(i);
printSortedStrings(remaining - 1, prefix + c);
}
}
}
public static boolean isInOrder(String s) {
for (int i = 1; i < …Run Code Online (Sandbox Code Playgroud)