노드를 통과하고 null이 아닌 한 길이를 증가시키는 while 루프를 포함하는이 문제에 대한 Big-O를 어떻게 해결합니까? 이것은 단지겠습니까 O(N)
는 N 노드를 통과하기 때문에? 또한 while 루프 내의 문은 O(1)
, 맞습니까?
/**
*@param head the first node of the linked list
*@return the length of the linked list
*/
public static <E> int getLength(Node<E> head) {
int length = 0;
Node<E> node = head;
while (node!=null) {
length++;
node = node.next;
}
return length;
}
당신이 말했듯이 링크드리스트의 순회는 각 노드를 한번씩 살펴볼 필요가 있기 때문에 O (N) 걸립니다.
할당 연산자는 매번 한 번만 수행해야하므로 O (1)입니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다