2014-12-04 5 views
0

linkedlist은 노드 그룹 인 연결된 목록 데이터 구조를 사용하기 때문에 java에서 삽입 및 삭제가 더 빠르다는 것을 알고 있습니다. 나는 왜 그것이 삽입과 삭제에서 더 빠르는지 이해하려고 노력했다. 그러나 나는 이해하지 못했다. 내가 강조한 것은 각 노드가 데이터와 다음 노드에 대한 참조로 구성된다는 것입니다. 자, 어떻게 이것 때문에 효율적입니까? 나는 간단한 방법으로 나를 설명 할 수 있을까? 미안하지만 난 컴퓨터 과학 학생이 아니야. 학사 상거래를 완료했습니다. :)왜 링크 된 목록이 더 빠릅니까?

+1

정확히 무엇보다? 배열과 비교할 때 주된 이유는 배열의 크기가 고정되어 있기 때문입니다. 삽입/삭제시 다시 작성해야합니다. – jbutler483

+0

@Eran 중복 답변도 가리켰습니다. http : // stackoverflow. com/q/26737018/3584765 원본 : http://stackoverflow.com/q/322715/3584765 – Eypros

+0

@Eypros 동일한 사용자가 물어 본 동일한 질문을 지적했습니다. – Eran

답변

0

링크 된 목록의 경우 연속 된 메모리에 저장해야하는 경계가 없으므로 메모리에 공간이있는 경우 JVM은 거기에 객체를 놓고 그 객체를 가리 킵니다. 목록의 마지막 요소에서.

예를 들어, ArrayList의 경우 JVM이 인접한 메모리 공간을 찾지 못하면 JVM은 전체 ArrayList을 수용 할 수있는 새 메모리 영역을 찾은 다음 전체 목록을 해당 공간에 복사하므로 오버 헤드가 추가됩니다.

관련 문제