이 진 트 리 를 옮 겨 다 니 는 비 재 귀 알고리즘
void inorder_non_rec(btree tree)
{
ptrtonode temp = tree;//ptrtonode
struct stack s;
stack_create(&s);//
while (temp)
{
PushLeftTree:
for (;temp;temp = temp->left)
push(&s,temp);//
Visit:
if ((temp = pop(&s)) != NULL)
{
visit(temp);
}
else return;
if (temp->right)
{
temp = temp->right;
goto PushLeftTree;
}
else
goto Visit;
}
stack_free(&s);
}
이 진 트 리 가 옮 겨 다 니 는 비 재 귀 알고리즘 은 스 택 을 통 해 옮 겨 다 니 기 (중간 순서 로 옮 겨 다 니 는 것 을 예 로 들 면):
1. 루트 노드 를 창고 에 넣는다
2. 뿌리 노드 의 왼쪽 하위 트 리 가 비어 있 는 지 판단 하고 비어 있 지 않 으 면 계속 창고 에 들 어가 특정한 노드 의 왼쪽 하위 트 리 가 비어 있 는 지 알 수 있 습 니 다.
3. 비어 있 으 면 스 택 상단 요 소 를 팝 업 하고 방문 후 오른쪽 하위 트 리 를 판단 하 며 비어 있 지 않 으 면 1 부터 3 까지 반복 합 니 다.
4 、 비어 있 으 면 3 반복
신인 이 갓 나 와 서 말 을 잘 못 쓰 는 것 을 양해 해 주 십시오.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Docker를 사용한 React 및 .NET Core 6.0 샘플 프로젝트 - 1부이 기사에서는 Entity Framework Core Code First 접근 방식을 사용하는 ASP.NET Core 6.0 WEP API의 CRUD(만들기, 읽기, 업데이트 및 삭제) 작업에 대해 설명합니다. 웹 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.