반응형
작성중 ..

선형 vs 비선형
- 선형구조 : 자료를 순차적으로 나열한 형태 (스택, 큐, 배열, 연결리스트)
- 비선형 구조 : 하나의 자료 뒤에 다수의 자료가 올 수 있는 형태 (트리, 그래프)
배열 vs 동적배열 vs 연결리스트 (호텔에 비유)
- 배열
- 사용할 방 개수를 고정해서 계약 (절대 변경 불가)
- 연속된 방을 배정받아 사용
- 장점 : 연속된 방
- 단점 : 방 추가/축소 불가
- 동적배열 (C++ 에서의 vector)
- 사용할 방 개수를 유동적으로 계약
- 연속된 방으로 배정받아 사용
- 방 할당 정책 : 실제로 사용할 방 보다 많이, 여유분을 두고(대략 1.5배에서 2배) 예약 후 이사. -> 이사 횟수 최소화를 위함.
- 장점 : 유동적인 계약 (이사 횟수 최소화)
- 단점 : 중간 삽입/삭제 (배열도 마찬가지임)
- 연결리스트
- 연속되지 않은 방을 사용
- 장점 : 중간 삽입/삭제 이점
- 단점 : n 번째 방을 바로 찾을 수 없음 (random access 불가), 따라서 중간 삽입/삭제의 이점을 최대한 활용하기 어려움. (iterator 사용 필요)
반응형
'SW > C,C++' 카테고리의 다른 글
[자료구조] 연결리스트 - List (2) | 2024.09.24 |
---|---|
[자료구조] 트리 - 이진트리, 순회 (0) | 2024.06.07 |
[C/C++] 함수인자로써 이중포인터와 가변길이배열 (0) | 2024.05.13 |
[C++] 배열 index 관련 예외처리 (0) | 2024.05.03 |
[C++] std::cin 타입 불일치 (0) | 2024.05.02 |
댓글