Table of Contents
데이터 구조를 설계하면 액세스 및 수정 작업과 관련된 비용을 이해하는 것은 필수적입니다. 배열 및 목록은 공통 구조이며, 각 다른 응용 분야에 적합한 성능 특성을 가지는 고유 한 성능 특성이 있습니다.
배열: 접근 및 수정
배열은 색인을 붙이는을 통해서 성분에 일정한 접근을, 아주 능률적으로 개량합니다. 특정한 색인에 성분을 또한 일정한 시간에 생길 수 있습니다 개조. 그러나, 삽입하거나 삭제 성분은, 특히 배열의 중간에서, 그 때문에 비용으로 그 후에 성분을 교대하는 필요로 할 수 있습니다.
목록: 접근 및 수정
링크된 목록과 같은 목록은 일반적으로 선형 시간 복잡성에서 액세스 요소에 대한 경계를 요구합니다. 특정 위치에 요소에 액세스하면 노드를 통해 이식하는 것을 포함할 수 있습니다. 삽입 또는 탈취와 같은 수정은 노드가 이미 위치한 경우 일정한 시간에 발생하는 경우 위치가 알려지지 않은 경우, 종종 발생할 수 있습니다.
설계 고려 사항
배열과 명부 사이 선택은 신청의 접근 및 수정 본에 달려 있습니다. 배열은 빠른 접근이 필요로 할 때 적당합니다, 수정은 순차적으로 입니다. 명부는 수시로 삽입과 탈수가 요구될 때 선호됩니다, 특히 자료 구조의 중간에서.
- 배열 제안 O(1)] 접근 시간
- 배열은 중간에 costly insertions/deletions가 있습니다
- 목록은 O(n) 액세스 시간 제공
- 노드 참조가 알려지면 효율적인 삽입/출구가 가능