배열 자료구조
장점
적은양의 데이터에 유리
단점
크기 변경 불가
가변배열 자료구조
적은양의 자료에 유리
크기 변경 가능
순차 접근 가능
random access 가능
중간에 삽입 및 삭제 할 때 최대 O(N) 소요. 왜냐하면 모든 원소를 한칸씩 이동 시켜야 하기 때문이다.
검색이 느리다
많은 양의 자료에 불리하다.
더블 링크드 리스트(DLL)로 구현되어있다.
중간에 삽입 삭제가 빠르다. O(1), 포인터의 이동만 요구하기 때문이다.
크기가 변경 가능하다
적은양의 자료에 유리하다
순차 접근 가능하다.
검색 느리다
특정 원소에 접근하려면 선형 탐색 해야 한다. random access 지원 안한다.
중간 삽입 삭제가 없고 랜덤 접근이 많다 : vector
중간 삽입 삭제가 있고 랜덤 접근이 없다 : list
데이터 개수가 적은 경우 vector가 더 좋다.
검색 시에 유리하다
단점은 원소 값을 직접 수정할 수 없다.
삭제 후 삽입으로 원소 값을 수정한다.
이진탐색트리 기반
균형이진트리
key:value
많은 양의 자료에 유리
검색 속도 빠름
key:value 따로 저장
자동 정렬
적은양엔 오버헤드로 인해 손해
이진탐색트리 기반, 게임에서는 많이 안쓴다.
find() 알고리즘이 아닌 find() 멤버함수를 사용하자.
key: value
양방향 반복자 이므로 랜덤 access 반복자를 요구하는 알고리즘 사용 불가. (예 : 정렬 알고리즘)
Last updated 7 years ago
Was this helpful?