LinkedList
[Data Structure] Vector and List (벡터와 리스트)
[Data Structure] Vector and List (벡터와 리스트)
2021.03.03Vector (벡터) 벡터 개념 벡터는 크기가 동적으로 변하는 배열이라고 생각하면 된다. Array list라고 부르기도 하며 다양한 데이터들이 배열의 형태로 저장된 연속체라고 생각하면 된다. 삽입, 삭제, 접근 연산이 모두 index에의해 이뤄지게 된다. Vector ADT 벡터의 추상자료형은 다음과 같다. at(integer i) : index i에대해서 데이터 값을 반환해준다. set(integer i, object o) : index i의 데이터를 o로 바꿔준다. insert(integer i, object o) : index i에 o를 삽입한다. earase(integer i) : index i에 있는 데이터를 제거해준다. size() : 벡터의 크기를 반환해준다. empty() : 벡터가 비었..
[Data Structure] Linked List (연결 리스트)
[Data Structure] Linked List (연결 리스트)
2021.03.03Linked list (연결 리스트) 링크드 리스트와 배열 Linked list (연결 리스트)와 가장 많이 비교되는 자료구조에는 Array (배열)가 있다. 두 자료구조 모두 linear order data structure로, 선형 저장구조를 갖고 있다. 선형 저장구조를 갖고 있다는 의미는 데이터 간의 전후관계가 존재한다는 의미와도 같다. 두 자료구조의 차이점에는 데이터 접근성과 size의 변동성이 있다. Array (배열) 배열은 임의의 인덱스에 빠르게 접근이 가능하다. 접근하고자 하는 index를 알기만 하면 O(1)시간에 접근이 가능하다. 배열을 선언할 때 memory를 선언하고 할당하기 때문에 제한된 메모리 크기를 갖는다. 그로인해 한 번 선언한 배열의 크기는 변경 할 수 없다는 단점이 있다...