트리인지 판정하기
다음 구조가 트리인지 판정하고 근거를 적는다.
- 노드 X의 바로 위에 P와 Q 두 노드가 연결되어 있다.
- 부모 노드가 없는 노드가 두 개 있다.
- 디렉터리
/아래에home과usr가 있고home아래에a.txt가 있다. - 노드마다 다음 노드가 최대 하나인 단일 연결리스트.
마지막으로, 파일 시스템을 훑는 walk(folder)가 하위 디렉터리에 같은 함수를 다시 적용할 수 있는 이유를 한 문장으로 적는다.
해설 펼치기
- 트리가 아니다. 루트 이외 노드의 위쪽 연결은 하나여야 하고, 갈라진 뒤 다시 합쳐질 수 없다.
- 트리가 아니다. 시작 노드(루트)는 하나여야 한다.
- 트리다. 시작점이 하나이고 각 항목의 위쪽 연결이 하나다.
- 트리다. 트리의 조건을 만족하며 한 줄로 이어진 모양이다. 연결리스트는 다음 연결이 최대 1개, 트리는 여러 개를 둘 수 있다.
하위 디렉터리도 다시 트리이므로 같은 절차를 적용할 수 있다. 이런 방식을 재귀(recursion)라 한다.