小编suk*_*iyo的帖子

大O表示法 - 请解释O(log2n)

我无法理解为什么这段代码的O(log 2 ^ n)为其Big O表示法:

for (int i = n; i>=1; i=i/2){
    sum = i+j;
}
Run Code Online (Sandbox Code Playgroud)

我以为它会是O(n).

java big-o for-loop

2
推荐指数
1
解决办法
2960
查看次数

节点是 node != null 和 node.next == null 之间的区别?

我在这里阅读链接列表,我有点困惑。我已经把它画出来了,但看起来它们仍然是一样的。

遍历链表:

Node tmp = head;
while(tmp != null) {
     tmp = tmp.next;
}
Run Code Online (Sandbox Code Playgroud)

我对 while 循环的思考过程:tmp 从头开始​​。现在,当 tmp 指向下一个节点时,tmp 继续指向它旁边的节点。它一直持续到 tmp 没有指向它旁边的另一个节点。

添加到链表的末尾:

public void addLast(AnyType item)
{
   if(head == null) addFirst(item);
   else
   {
      Node<AnyType> tmp = head;
      while(tmp.next != null) 
            tmp = tmp.next;

      tmp.next = new Node<AnyType>(item, null);
   }
}
Run Code Online (Sandbox Code Playgroud)

我对 while 循环的思考过程:tmp 从头开始​​。现在,当 tmp 指向下一个节点时,tmp 继续指向它旁边的节点。它一直持续到 tmp 没有指向它旁边的另一个节点。然后它跳出循环并分配 tmp 指向新节点旁边。

java linked-list

2
推荐指数
1
解决办法
3847
查看次数

标签 统计

java ×2

big-o ×1

for-loop ×1

linked-list ×1