로그인 회원가입 고객센터
레포트자기소개서방송통신서식공모전취업정보
campusplus
세일즈코너배너
자료등록배너

[C++] 반복적트리순회 알고리즘 2


카테고리 : 레포트 > 기타
파일이름 :[C++] 반복적트리순회 알고리즘.hwp
문서분량 : 2 page 등록인 : lhil008
문서뷰어 : 한글뷰어프로그램 등록/수정일 : 07.11.13 / 07.11.13
구매평가 : 다운로드수 : 0
판매가격 : 600

미리보기

같은분야 연관자료
보고서설명
Ⅰ. Iterative preorder 1. 전위순회의 방법 전위순회는...
본문일부/목차
Ⅰ. Iterative preorder
1. 전위순회의 방법
전위순회는 부모노드-왼쪽자식-오른쪽자식 순으로 트리를 순회하는 것으로서 recursive로 구현하면 아래와 같이 표현할 수 있다.
void pre_order(treenode t){
if(t){
cout t→data ` n`;
pre_order(t→leftChild);
pre_order(t→rigntChild);
}
}
2. Iterative preorder의 구현
전위순회는 스택을 사용하여 비재귀적으로 구현이 가능한데, 방문할 노드는 스택에서 delete하여 얻을 수 있으며, 앞으로 방문할 노드들은 스택에 add하여 주면 된다. 이를 알고리즘으로 표현하면 아래와 같다.
void iter_preorder(treenode t){
Stack의 초기화;
Stack.Add(t); Stack에 노드를 삽입한다.
while(Stack이 비어있지 않은 경우){
t = Stack.Delete(); 방문할 노드를 스택에서 받아온다.
if(t){ 방문할 노드가 존재하는 경우 순회를 계속한다.
cout t→data ` n`; 노드의 데이터를 출력
Stack.Add(t→rightChild); 부모-왼쪽-오른쪽 순으로 방문하므로 오른쪽 삽입 후
Stack.Add(t→leftChild); 왼쪽 노드를 삽입한다.
} end of if
} end of while
}
위 알고리즘과 같이 전위순회를 구현하면, 스택에는 항상 부모-왼쪽-오른쪽 노드 순으로 삽입되어 있으므로 스택이 비어있을 때까지 반복하여 삭제 삽입 동작을 수행하면, 전위순회를 비재귀적으로 수행할 수 있게 되는 것이다.
Ⅱ. Iterative postorder
1. 후위순회의 방법
후위순회는 왼쪽자식-오른쪽자식-부모노드 순으로 트리를 순회하는 것으로서 recursive로 구현하면 아래와 같은 알고리즘으...
연관검색어
C++ 반복적트리순회 알고리즘 2

구매평가

구매평가 기록이 없습니다
보상규정 및 환불정책
· 해피레포트는 다운로드 받은 파일에 문제가 있을 경우(손상된 파일/설명과 다른자료/중복자료 등) 1주일이내 환불요청 시
환불(재충전) 해드립니다.  (단, 단순 변심 및 실수로 인한 환불은 되지 않습니다.)
· 파일이 열리지 않거나 브라우저 오류로 인해 다운이 되지 않으면 고객센터로 문의바랍니다.
· 다운로드 받은 파일은 참고자료로 이용하셔야 하며,자료의 활용에 대한 모든 책임은 다운로드 받은 회원님에게 있습니다.

저작권안내

보고서 내용중의 의견 및 입장은 당사와 무관하며, 그 내용의 진위여부도 당사는 보증하지 않습니다.
보고서의 저작권 및 모든 법적 책임은 등록인에게 있으며, 무단전재 및 재배포를 금합니다.
저작권 문제 발생시 원저작권자의 입장에서 해결해드리고 있습니다. 저작권침해신고 바로가기

 

ϰڷٷΰ thinkuniv ķ۽÷