Open jeongabae opened 4 years ago
indexOf 메서드
public int indexOf(Object target) { Node node = head; for(int i=0; i<size; i++){ if(equals(target, node.data)){ return i; } node = node.next; } return -1; }
indexOf메서드의 증가 차수?
두 개의 인자를 가진 add 메서드
public void add(int index, E element) { if(index == 0){ head = new Node(element, head); } else{ Node node = getNode(index -1); node.next = new Node(element, node.next); } size++; }
getNode 메서드
private Node getNode(int index) { if (index < 0 || index >= size) { throw new IndexOutOfBoundsException(); } Node node = head; for (int i=0; i<index; i++) { node = node.next; } return node; }
add 메서드의 증가 차수?
remove 메서드
public E remove(int index) { E element = get(index); if(index == 0){ head = head.next; } else{ Node node = getNode(index-1); node.next = node.next.next; } size--; return element; }
remove 메서드의 증가 차수? remove 메서드의 모든 것은 선형인 get과 getNode 메서드를 제외하면 상수시간. ---> remove 메서드는 선형
*** 다른 연산에서는 두 구현의 증가 차수가 같음
....?
4.1 MyLinkedList 메서드 분류하기
indexOf 메서드
indexOf메서드의 증가 차수?
두 개의 인자를 가진 add 메서드
getNode 메서드
add 메서드의 증가 차수?
remove 메서드
remove 메서드의 증가 차수? remove 메서드의 모든 것은 선형인 get과 getNode 메서드를 제외하면 상수시간. ---> remove 메서드는 선형