CS (4) 썸네일형 리스트형 vector 사용법 [C++] [C++ 자료구조] vector 사용법 완전 정리C++의 vector는 동적 배열을 구현한 컨테이너로, 가장 많이 사용하는 STL 중 하나입니다.아래는 vector의 주요 메서드들을 내부 동작 원리와 함께 설명하고, 예제 코드를 통해 실제 동작을 확인합니다.🔹 push_back() - capacity 증가 원리push_back()은 vector의 끝에 요소를 추가하는 메서드입니다.현재 capacity가 충분하면 O(1)로 추가capacity가 부족하면 보통 1.5배 ~ 2배로 재할당하면서 모든 요소를 복사 또는 이동(move)일반적인 증가 공식: new_capacity = old + old / 2 + 1 (libstdc++ 기준)#include #include using namespace std;int.. 시간 복잡도(Time Complexity) [시간 복잡도란?]시간 복잡도(Time Complexity)는 입력 크기 N이 커질수록 알고리즘이 실행되는 시간의 증가율을 의미합니다.이는 실제 실행 시간이 아닌, 입력 크기에 따른 이론적인 성능을 비교하는 데 사용됩니다.왜 시간 복잡도가 필요할까?실행 속도는 컴퓨터, 언어, 운영체제 등 환경에 따라 달라짐절대 시간보다 입력 크기 기준으로 성능을 평가하는 지표가 필요그래서 사용하는 것이 바로 점근적 시간 복잡도점근 표기법 (Asymptotic Notation)입력 크기 n이 무한히 커질 때의 알고리즘 성능을 수학적으로 표현한 것기호의미예시O(g(n))최악의 경우 (Upper Bound)O(n²), O(n log n)Ω(g(n))최선의 경우 (Lower Bound)Ω(n), Ω(1)Θ(g(n))정확한 경우.. 주기억장치〔RAM〕 RAM은 CPU의 명령어 처리를 도와준다. 주기억장치는 크게 RAM과 ROM으로 나눠볼 수 있다. 우리가 일상생활에서 흔하게 말하고 듣는 메모리가 주기억장치라고 생각하면 된다. [RAM의 특징] RAM의 영어 약어를 풀어써본다 ㄴRandom Access Memory 임의 접근 기억장치로 직역할 수 있다. 말 그대로 RAM은 데이터를 임의로 접근해서 무엇인가를 할 수 있다는 것이다. 또한 임의로 접근할 수 있다는 것은 데이터를 굉장히 빠른 속도로 CPU에 보내거나 저장할 수 있다는 것이다. 그런데 RAM은 속도는 굉장히 빠르지만 휘발성 저장 장치라는 단점이 있다. 휘발성 저장 장치라는 것은 컴퓨터가 On 되어 있을 때 RAM안에 저장하고 있는 정보들이 컴퓨터가 Off 되면 다 사라져 버린다는 뜻이다. 비휘.. CPU[1]〔레지스터〕 (컴퓨터의 구조의 4가지) ㄴ〔 중앙처리장치 〕 ㄴ〔 주기억장치 〕 ㄴ〔 보조기억장치 〕 ㄴ〔 입출력장치 〕 이 중에 중앙처리장치는 CPU라고 불리며 컴퓨터의 머리를 담당하고 있다. CPU는 컴퓨터에서 크게 4가지 주요 기능을 수행한다. -인출 : 외부에서 정보를 입력받음 -해석 : 컴퓨터 프로그램의 명령어 해석 -실행 : 해석한 데이터를 연산 -쓰기 : 외부로 출력 그리고 CPU는 레지스터, 연산장치, 제어장치로 구성되어 있다. [레지스터] 레지스터는 CPU 내부에 존재하는 임시기억장치이다. 레지스터는 물리적으로 CPU 옆에 붙어서 데이터 처리 속도를 높여준다. CPU내에 존재하는 저장공간이기에 컴퓨터에서 제일 빠른 저장 공간이라고 볼 수 있다. 속도 : 레지스터 > 캐시 메모리 > 주기억장치 > 보조.. 이전 1 다음