[데이터 구조] 중 트 리 의 세 가지 옮 겨 다 니 는 방식 에 대한 상세 한 설명

이 진 트 리 의 옮 겨 다 니 는 방식 은 먼저 옮 겨 다 니 고 중간 순 서 는 옮 겨 다 니 며 뒤의 순 서 는 옮 겨 다 닌 다.
그리고 모든 옮 겨 다 니 는 방식 의 실현 은 재 귀 방법 과 비 재 귀 방법 이 있다.
먼저 이 진 트 리 의 구조 체 를 쓰 세 요.
typedef struct BinaryTreeNode
{
	int _value;
	BinaryTreeNode *_left;
	BinaryTreeNode *_right;
}BinaryTreeNode, *BinaryTree;

1. 우선 순 서 를 옮 겨 다 니 는 방식:
4. 567913. 2. 중간 순서 로 옮 겨 다 니 는 방법:
4. 567913. 3. 후 서 편의 방법:
//1,     
void PreOrder(BinaryTree _root)
{
	stack s;
	BinaryTree p = _root;
	while (p || !s.empty())
	{
		if (p != NULL)
		{
			s.push(p);
			cout << p->_value;
			p = p->_left;
		}
		else
		{
			p = s.top();
			s.pop();
			p = p->_right;
		}
	}
}
//2,    
void PreOrderR(BinaryTree _root)
{
	if (_root == NULL)
	{
		return;
	}
	cout << _root->_value << " ";
	PreOrderR(_root->_left);
	PreOrderR(_root->_right);
}

좋은 웹페이지 즐겨찾기