add(index,E)
방법의 실행 시간이 궁금합니다. javadoc에 따르면 추가 작업의 실행 시간은 O(1)
으로 상각됩니다. 그러나 add(index,E)의 설명에 따르면arrayList의 인덱스에 요소를 삽입하기위한 실행 시간은 얼마입니까?
이 목록의 지정된 위치에 지정된 요소를 삽입합니다. 현재 해당 위치에있는 요소 (있는 경우) 및 오른쪽에있는 후속 요소를 이동 (해당 색인에 하나 추가)합니다.
따라서 O(N)
처럼 보입니다. 이 수술을 위해 수술 시간이 O(1)
이된다면, 우리는 무엇을 위해 무역해야하는지 궁금합니다. 이 작업을 수행 할 수있는 할부 상환 작업이 있습니까? O(1)
및 다른 작업을 위해 실행 시간이 희생 되었습니까?
나는 ArrayList
배열을 뒷받침하는 자바 데이터 구조를 변경하겠습니까?
[일반 추가] (http://docs.oracle.com/javase/6/docs/api/java/util/ArrayList.html#add (E))는 O (1), [인덱스에 추가] ] (http://docs.oracle.com/javase/6/docs/api/java/util/ArrayList.html#add%28int,%20E%29)는 상각됩니다. O (N) –