-
[ 선형 자료구조 ] VectorComputer Science/자료 구조 2023. 1. 9. 11:50반응형
1. Vector
1) 개념
컴퓨터 과학에서 벡터는 배열과 유사하되 동적으로 크기를 조정할 수 있는 자료구조이며, 배열처럼 연속된 메모리 를 바탕으로 구성된다. 백터는 데이터를 연속되게 쌓으며 삭제/삽입 등의 연산시 대상 인덱스 이후의 요소들의 위치를 조정한다.
2) 장점
- 쉽게 크기 조정이 가능하다.
- idx를 통해 빠르게 각 요소에 접근가능하며 O(n)의 시간 복잡도를 갖는다.
- 끝 요소의 경우 삽입/삭제 연산이 빠르다. O(n)의 시간복잡도를 갖는다.
- 요소 저장을 위한 메모리만 사용하기 때문에 배열보다 메모리 측면에서 효율적이다.
3) 단점
- 요소들의 위치 조정이 필요하기 때문에 끝 이외의 부분에서의 삽입/삽제 연산은 배열보다 느리다.
- 각 요소의 크기, 저장된 요소의 개수 등의 정보를 포함하기 때문에 배열보다 많은 메모리를 필요로한다.
4) 사용 예시
- 큰 데이터를 저장할 경우
- 끝 부분에서 데이터 삽입/삭제 연산이 많이 이루어질 경우
- 데이터의 크기가 가변적인 경우
반응형'Computer Science > 자료 구조' 카테고리의 다른 글
[ 비선형 자료구조] 그래프 (0) 2023.01.11 [ 선형 자료구조 ] 스택(Stack) & 큐(Queue) (0) 2023.01.09 [ 선형 자료구조 ] 배열 & 리스트 (0) 2023.01.06 [ 선형 자료구조 ] 연결 리스트 - Circular Linked List(원형 연결 리스트) (0) 2023.01.04 [ 선형 자료구조 ] 연결 리스트 - Doubly Linked List(이중 연결 리스트) (0) 2023.01.03