> Vector? 메모리 heap에 동적할당되는 자료의 길이를 변경할 수 있는 배열입니다. 먼저, 메모리 heap과 동적할당에 대해서 설명해보고자 합니다. 다들 메모리 안에 구조가 어떻게 생겼는지 아시나요? 저도 heap영역, stack영역 많이 들어봤었지만 깊게 공부해본 적이 없더군요. 그래서 이번 기회를 빌어 조금 깊게 해당 부분에 대해서 공부를 해봤습니다. 스택 영역은 함수가 호출되었을 때 호출이 되었다가 함수가 종료됨과 함께 사라지는 변수들을 생각하시면 될 것 같습니다. 따라서 컴파일 과정에서 해당 변수들은 크기가 정해지고 종료되면서 변수들도 없어집니다. 이와 반대로 힙 영역은 사용자가 관리합니다. 사용자가 동적으로 변수를 할당하고 해제할 수 있습니다. 잠깐만 사용했다가 해제하고 싶은 변수, 함수..
코딩테스트를 대비하기 위해서 알고리즘 공부를 다시 시작하려고 하니, 자료구조는 무시하고 알고리즘부터 무작정 공부한다는 생각이 들었습니다. 우리가 알고리즘을 잘 짜기 위해서 잘 선택해야 하는 게 무엇보다도 자료구조인데…. 지금부터라도 두 가지를 잘 합쳐서 공부해보려고 합니다. > 먼저 자료구조는 뭘까요? 자료구조는 컴퓨터 과학에서 효율적인 접근 및 수정을 가능케 하는 자료의 조직, 관리, 저장을 의미한다. 더 정확히 말해, 자료 구조는 데이터 값의 모임, 또 데이터 간의 관계, 그리고 데이터에 적용할 수 있는 함수나 명령을 의미한다. 신중히 선택한 자료구조는 보다 효율적인 알고리즘을 사용할 수 있게 한다. 이러한 자료구조의 선택문제는 대개 추상 자료형의 선택으로부터 시작하는 경우가 많다. 효과적으로 설계된..