java - 这个的时间复杂度是多少
问题描述
所以我的疑问是在第 2 行,这里我们可以假设 array2 嵌套在 array1 中,从 O(n^2) 或 O(n) 那里的时间复杂度是多少?
function1()
{
for-loop1{ function2(); } //line 2
}
function2()
{
for-loop2();
}
解决方案
您的示例的大 O 表示法很难确定,因为它不运行任何实际功能。您必须了解 Big O 描述了执行/计算的数量与输入大小的关系。
- 如果您提供的函数对 array1 中的每个元素执行固定数量的操作,而对 array2 中的每个元素执行固定数量的操作,则情况为 O(n)。
- 如果它为数组中的每个元素再次遍历数组,那么它是 O(n^2),因为将大小加倍会导致计算量增加 4 倍。
推荐阅读
- spring-boot - JPA/休眠。如何使用 createQuery 方法获取包含在父对象列表中的子对象
- c# - 使用 .p12 验证端点
- css - 如何申请 CSS Modules 的条件?
- xml - 带有数字的 xml 标记
- regex - 在雪花中查找具有重复模式的字符串
- javascript - 在 UWP WebView 中显示本地 html 页面
- java - 在 android 中使用 Bundle 类在活动之间传递信息有什么意义吗?
- microsoft-teams - 当 Zoom 或 MSTeams 桌面客户端运行时(打开摄像头),MediaDevices.getUserMedia 在 Windows 上引发异常
- python - 如何在 Sympy 中的多个方程中替换变量
- typescript - 如何以可用的方式重新导出具有接口的导入模块?