linkedlist
은 노드 그룹 인 연결된 목록 데이터 구조를 사용하기 때문에 java에서 삽입 및 삭제가 더 빠르다는 것을 알고 있습니다. 나는 왜 그것이 삽입과 삭제에서 더 빠르는지 이해하려고 노력했다. 그러나 나는 이해하지 못했다. 내가 강조한 것은 각 노드가 데이터와 다음 노드에 대한 참조로 구성된다는 것입니다. 자, 어떻게 이것 때문에 효율적입니까? 나는 간단한 방법으로 나를 설명 할 수 있을까? 미안하지만 난 컴퓨터 과학 학생이 아니야. 학사 상거래를 완료했습니다. :)왜 링크 된 목록이 더 빠릅니까?
0
A
답변
0
링크 된 목록의 경우 연속 된 메모리에 저장해야하는 경계가 없으므로 메모리에 공간이있는 경우 JVM은 거기에 객체를 놓고 그 객체를 가리 킵니다. 목록의 마지막 요소에서.
예를 들어, ArrayList
의 경우 JVM이 인접한 메모리 공간을 찾지 못하면 JVM은 전체 ArrayList
을 수용 할 수있는 새 메모리 영역을 찾은 다음 전체 목록을 해당 공간에 복사하므로 오버 헤드가 추가됩니다.
관련 문제
- 1. 왜 AS3에서 벡터보다 링크 된 목록이 빠릅니까?
- 2. 왜 벡터화가 더 빠릅니까
- 3. 왜 Linq 방식이 더 빠릅니까
- 4. 왜 링크 된 목록에서 배열보다 인덱스로 항목을 액세스하는 속도가 더 빠릅니까?
- 5. 링크 된 목록이 원형인지 확인
- 6. 공개 필드가 속성보다 왜 더 빠릅니까?
- 7. 왜 순수 함수가 Mathematica 코드에서 더 빠릅니까?
- 8. 왜 함수가 C#의 Startswith보다 더 빠릅니까?
- 9. 리눅스에서 RTOS보다 내 코드가 왜 더 빠릅니까?
- 10. 버퍼와 문자열 속도 : 왜 문자열이 더 빠릅니까?
- 11. 테스트에서 왜 익명 메소드가 더 빠릅니까?
- 12. 왜 코어보다 스레드 수가 더 빠릅니까?
- 13. 왜 (MATLAB에서)이 코드가 더 빠릅니까?
- 14. 입력 된 기능 언어가 더 빠릅니까?
- 15. 링크 된 목록이 컴파일되지 않음
- 16. 링크 된 목록이 뒤로 표시됩니다.
- 17. 왜 String.IsNullOrEmpty가 String.Length보다 빠릅니까?
- 18. LinkedHashMap과 TreeMap이 더 빠릅니까?
- 19. 정적 기능이 더 빠릅니까?
- 20. 왜 PathPing이 Tracert보다 빠릅니까?
- 21. 왜 Hazelcast가 빠릅니까?
- 22. 쿼리 된 sqlite의 행 수는 더 빠릅니까?
- 23. stl :: map에 삽입 된 삽입이 더 빠릅니까?
- 24. 왜 Elixir가 JRuby보다 빠릅니까?
- 25. 왜 재귀가 Array.exists보다 빠릅니까?
- 26. 왜 foldl '로 구현할 때 Haskell의 MergeSort가 더 빠릅니까?
- 27. 왜 반전 된 목록이 짧은 쿼리가 GPU의
- 28. 어느 것이 더 빠릅니까?
- 29. 어떤 함수가 더 빠릅니까?
- 30. 튜플이나리스트가있는 string.join이 더 빠릅니까?
정확히 무엇보다? 배열과 비교할 때 주된 이유는 배열의 크기가 고정되어 있기 때문입니다. 삽입/삭제시 다시 작성해야합니다. – jbutler483
@Eran 중복 답변도 가리켰습니다. http : // stackoverflow. com/q/26737018/3584765 원본 : http://stackoverflow.com/q/322715/3584765 – Eypros
@Eypros 동일한 사용자가 물어 본 동일한 질문을 지적했습니다. – Eran