Vector2 2. 동적배열 구현 Q1. vector를 구현해 보는 이유는 무엇인가요? A1. 첫번째 이유 : 나머지 자료구조 학습하는데 기초가 되기 때문에 두번쨰 이유 : 코딩 테스트에 가끔 나오기 때문 Q2. vector 의 특징을 size와 capacity의 관점에서 말해 보세요 A2. size는 실제 원소의 개수고, capacity는 할당된 데이터의 크기다. size가 capacity의 양만큼 늘어나면 1.5배로 capacity를 증량하고, 기존의 데이터를 증량한 capacity로 옮긴다. 데이터를 삭제해서 size가 0이 되어도 capacity의 수는 변하지 않는다. Q3. vector를 구현해보세요. (생성자, 소멸자, push_back, reserve, operator[], size, capacity, clear만 제한적으로.. Coding test/자료구조 알고리즘 2023. 8. 25. 1. 배열, 동적 배열, 연결 리스트 Q1. 배열, 동적 배열, 연결 리스트 각각의 특징과 장단점을 말해보세요. A1. 배열: array 특징: 방의 개수 고정, 연속된 방 단점: 방을 추가/축소 불가 동적 배열: vector 특징: 사용할 방의 개수 유동적 계약, 연속된 방 장점: 유동적인 계약 단점: 이사 비용, 중간 삽입/삭제 느림 할당 정책: 이사할 때 사용할 방보다 많이 여유분을 두고 1.5~2배 예약해서 이사 횟수를 최소화 연결 리스트: list 특징: 연속되지 않은 방을 사용 장점: 중간 삽입/삭제 단점: N번째 방을 바로 찾을 수가 없음(임의 접근 Random Access 불가) Q2. 선형과 비선형 자료구조의 차이에 대해 말해 보세요 A2. 선형 vs 비선형 선형: 배열, 연결 리스트, 스택/큐 (자료를 순차적으로 나열한 형.. Coding test/자료구조 알고리즘 2023. 8. 25. 이전 1 다음