기록이 힘이다.

LinkedList 클래스 본문

JAVA/자료구조와 알고리즘

LinkedList 클래스

dev22 2022. 6. 22. 21:06
728x90

보통 다음 Node가 null이 아닌지 확인해야 하지만, 이 경우에는 리스트 끝까지 가면 반복문이 종료되므로 안전합니다. (size 변수는 리스트의 실제 노드 개수와 일치한다고 가정합니다.) 목적 값을 찾지 못하면 -1을 반환합니다. 

 

이 메서드의 실행시간은 리스트의 크기에 비례 (O(n)) 합니다.

add 메서드의 증가 차수는?

1. getNode 메서드가 indexOf 메서드와 유사하므로 같은 이유로 선형입니다.

2. add메서드에서 getNode 메서드 전과 후 모두가 상수 시간입니다. 

 

remofw 메서드의 모든 것은 선형인 get과 getNode 메서드를 제외하면 상수 시간입니다.

따라서 remove 메서드는 선형입니다. 

 

두 개의 선형 메서드를 보면 때때로 결과를 이차로 생각하지만, 이것은 어떤 연산이 다른 연산 내부에 중첩되었을 때만 해당합니다. 어떤 연산에 이어 다른 연산을 호출하면 실행시간은 더해집니다. 이 연산이 둘 다 O(n)이라면 합 또한 O(n)이 됩니다. 

 

 

 

'JAVA > 자료구조와 알고리즘' 카테고리의 다른 글

트리 순회  (0) 2022.06.27
이중 연결 리스트  (0) 2022.06.23
ArrayList 클래스  (0) 2022.06.20
알고리즘 분석(SET, INDEXOF, ADD, REMOVE)  (0) 2022.06.16
인터페이스  (0) 2022.06.16