층 순서대로 순회하는 방식
Queue 사용 = 너비 우선 탐색
분류에 따른 체계 탐색 시 사용(주소 체계, 공간 분할 등)
소멸자에서 객체의 Child를 삭제하게 할 경우 구현은 편함.
소멸자에서 객체의 Child를 건드리지 않을 경우 외부에서 객체를 해제해야 함.
이 둘은 함께 존재해선 안됨.
LinkedList의 경우 소멸자 내부에서 Link된 다른 객체를 건드리지는 않음.
List의 중간에서 삽입, 삭제가 존재하기 때문
그보다는 Link된 노드의 생성을 다른 노드에서 수행하지 않았기 때문으로 해석(생성된 메모리에 대한 책임이 없음)
마찬가지로 이진트리의 노드를 생성할 때 Child노드를 생성하지는 않음.(Child 메모리에 대한 책임이 없음)
그러므로 원론적으로 이진트리 노드의 소멸자에서 Child 노드의 해제를 수행하지 않는 것이 옳음.
Tree의 Depth가 정해지면 Tree Node의 최개 개수 = 2depth - 1(depth >= 1)
트리의 정보를 배열로 저장, 이후 Load과정에서 배열에 저장 후, index를 통해 접근하는 방법이 있음.
Node* _arr[] = new Node*[length];
프로젝트 폴더를 기준으로 결정됨.
$(ProjectDir) 매크로를 통해 프로젝트 폴더를 기준으로 include와 lib할 수 있음
md 명령어를 사용하면 존재하지 않는 폴더는 생성하여 복사할 수 있음.
속성을 통해 cpp의 표준과 sdk버전을 결정할 수 있음
vs2019의 경우 cpp14가 표준.
cpp17, cpp20 역시 지원.