Programming/DS Concept 썸네일형 리스트형 DataStructure - 이진트리 이진트리 순회 방법의 선택 - 순서는 중요치 않고 노드를 전부 방문하기만 하면 된다면 전위, 중위, 후위 순회 중 어떤 것이든지 관계없다. 예를 들어, 트리의 모든 노드 값을 순서 와 상관없이 출력하기만 한다면 순회 방법은 중요하지 않다. - 자식 노드를 처리한 다음에 부모 노드를 처리해야 하는 문제라면 당연히 후위순회를 사용하여야 한다. 왜냐하면 하위 디렉터리의 용량이 계산되어야 만이 현재의 디렉터리 용량을 계산할 수 있기 때문이다. - 부모 노드를 처리한 다음에 자식 노드를 처리해야 한다면 전위 순회를 사용하여야 한다. 예를 들어, 모든 노드의 레벨을 계산하기 위해서는 전위 순회를 사용해야 한다. 루트 노드의 레벨이 1이고 어떤 노드의 레벨은 부모 노드의 레벨보다 1이 크기 때문이다. 스레드 이진트리.. 더보기 DataStructure - 큐(Queue), 덱(Deque) 배열(Array) 배열의 이름은 포인터의 역할을 한다. 따라서 배열의 이름을 전달하면 배열의 포인터(첫 번째 항목의 주소)가 전달되는 것이나 마찬가지이다. 따라서 배열을 함수의 파라미터로 전달할 때는 항상이것을 염두에 두어야 한다. 배열의 이름이 포인터의 역할을 하여 배열의 주소를 함수로 전달하게 된다. STL(Standard Template Library) STL은 컨테이너(container), 반복자(iterator), 알고리즘(algorithm)이라고 하는 세 종류의 컴포넌트를 사용한다. STL의 pop()은 객체를 반환하지 않고 단지 스택 맨 위의 요소를 삭제 만 한다. STL에서는 top()이 맨 위의 요소를 반환한다. 이것을 ADT의 peek() 연산에 해당한다. STL은 객체지향 기법과 일반.. 더보기 이전 1 2 다음