Notice
Recent Posts
Recent Comments
Link
스토리지
[3.31] Binary Tree Preorder 연습 본문
private void PreorderTraversalImpl(Node node)
{
if (node == null) return;
Console.Write("{0} ", node.data);
PreorderTraversalImpl(node.left);
PreorderTraversalImpl(node.right);
}
public void PreorderIterative()
{
Stack<Node> stack = new Stack<Node>();
stack.Push(this.root);
while (stack.Count > 0)
{
var temp = stack.Pop();
Console.Write("{0} ", temp.data);
if (temp.right != null)
{
stack.Push(temp.right);
}
if (temp.left != null)
{
stack.Push(temp.left);
}
}
}
using System;
namespace Study02
{
public class App
{
public App()
{
BinaryTree tree = new BinaryTree("A");
var B = tree.SetLeft(tree.GetRoot(), "B");
var c = tree.SetRight(tree.GetRoot(), "C");
var d = tree.SetLeft(B, "D");
var e = tree.SetRight(B, "E");
var f = tree.SetRight(c, "F");
Console.Write("재귀를 사용한 전위순회 : ");
tree.PreorderTraversal();
Console.WriteLine();
Console.Write("스택(반복)을 사용한 전위순회 : ");
tree.PreorderIterative();
Console.WriteLine();
}
}
}
'Unity > 자료구조' 카테고리의 다른 글
[4.1] Binary Search Tree 이진탐색트리 (0) | 2021.04.01 |
---|---|
[4.1] Binary Tree Traversal 복습 (0) | 2021.04.01 |
[3.31] Binary Tree 연습 1 (Array) (0) | 2021.03.31 |
[3.31] 이진 트리 (0) | 2021.03.31 |
[3.31] LCRSTree 복습 (0) | 2021.03.31 |
Comments