time-complexity - 初始化数组和链表的一段代码的大 O 表示法
问题描述
我正在努力加深对运行时间的理解。
假设我的函数中有代码,并且每个语句都有一些不同的时间复杂度:
LinkedList myLL = new LinkedList(); //O(1)
myLL.addAtHead("1"); //O(1)
myLL.addAtHead("2"); //O(1)
myLL.addAtHead("3"); //O(1)
int[] myArray = new int[n] //O(n) , depending on what n is
<Some other statement> //O(n^2)
确定运行时间,它是 O(n^2) 吗?我们是否只考虑花费最多时间的语句并说总运行时间为 O(n^2)?
解决方案
是的,流行的术语取消了所有其他的(嗯,这使得它们在整体考虑中微不足道),所以复杂度是 O(n^2)。
推荐阅读
- apache-kafka - Kafka Producer:发送消息后断开连接与保持连接打开
- vhdl - 函数内的 VHDL 计算
- javascript - (Javascript)给定间隔中的素数:for循环不迭代
- android - 如何为 xmpp 实现 smack
- cryptocurrency - Diem(前 Libra):创建帐户失败并显示“无法从验证器获取帐户,错误:航点值不匹配”
- python-3.x - 在 python 中不能安全地解释为整数
- c# - C#按列分组并与其他列形成分层数据
- python - 为什么使用 .items() 允许我遍历 defaultdict 否则变量被读取错误?
- python - 创建动态范围并计算平均值
- comments - 我可能听起来很垃圾哈哈 - 但首先把所有事情都弄清楚总比不问要好