JS로만 공부를 하다보니 메모리에 대한 이해, 조금 더 컴퓨터의 본질적인 부분들에 접근하고 싶은 마음이 커져서 시작하게된 바킹독님의 c++알고리즘 공부. 코딩테스트를 위한, 효율적 코딩 작성을 위해 알려주는 부분들이 많아 좋다.

Note :

배열

  • O(1)에 K번째 원소를 확인/변경 가능

  • 추가 소모 메모리 양(overhead)가 거의 없음.

  • cache hit rate 가 높음.

  • 메모리 상에 연속한 구간을 잡아야해서 할당 제약이 있음.

벡터(Vector)

  • 크기를 자유 자재로 줄 일수 있다.

  • push_back, pop_back 함수가 있음.

  • vector 에서 = 은 deep copy 다

  • 중간에 insert or erase 시 v.begin() 을 기준으로 +1 ~ +n까지 설정한다.

  • for 구문에서 < i <= v.size() -1 > 로 되는 코드를 사용 할 시 size 가 0 인 배열 일 때 unsigned_int 0 - int 1 이 되어 값이 잘못 나오기 때문에 < v.size() 를 사용하는 편이 현명하다.

원본 자료 : https://blog.encrypted.gg/927