我正在攻读考试,并且通过Big Oh表示法有点理解时间复杂性。我被赋予了这个作为他们将要问什么和好奇你的想法的一个例子。我不确定这些是线性O(n)还是什么。如果你可以帮助我,这些复杂性问题中的一些让我感到困惑。提前谢谢。
public E removeFirst() {
if (size == 0) {
return null;
}
else {
Node<E> temp = head;
head = head.next;
size--;
if (head == null) {
tail = null;
}
return temp.element;
}
}
public void addFirst(E e) {
Node<E> newNode = new Node<E>(e);
newNode.next = head;
head = newNode;
size++;
if (tail == null)
tail = head;
}
答案 0 :(得分:1)
Big O表示法粗略地表示在最坏的情况下代码需要执行的最大次数,因为在两个函数中它都返回结果,在任何情况下只返回一次迭代,因此两个函数的最坏情况都是复杂的是O(1)即恒定时间。