java - 如何找到使用辅助方法的方法的时间复杂度?
问题描述
public static void recursiveWalk1(int n, String c) {
if (n == 0) {
System.out.println(c);
} else {
recursiveWalk1(n - 1, c + "1");
recursiveWalk2(n - 1, c + "0");
}
}
public static void recursiveWalk2(int n, String c) {
if (n == 0) {
System.out.println(c);
} else {
recursiveWalk1(n - 1, c + "0");
recursiveWalk2(n - 1, c + "1");
}
}
public static void recursiveWalk(int n) {
Corner c = new Corner();
recursiveWalk1(n, c.coordinate);
}
我想找到该recursiveWalk(int)
方法的时间复杂度。我在想,使用辅助方法,它的时间复杂度O(log(n))
可能是指数级的,但我不确定。我可以用什么来计算它的时间复杂度?
解决方案
推荐阅读
- c# - Android 8 接收停止接收媒体按钮事件
- c - 如何正确管理 strtok_r 的输出?
- prolog - 为什么我无法通过 Prolog 中的数组名称访问数组数据?
- vue.js - 如何转换 *.vue 示例文件以供 CDN 使用?
- php - Laravel 5.8 使用布局变量重置密码邮件不起作用
- css - 如何隐藏由于overflow-x:hidden而未完全显示的元素?
- wordpress - 使用 xampp 安装 wordpress
- javascript - 是否可以在 next.js 中定义哈希路由?
- mysql - 从jenkins管道连接到mysql db没有工作
- reactjs - 在 Suspense 解决之前 React-i18next 初始化回调解决