using System.Collections.Generic;
public static void Main()
static public void BinaryTreeTest()
var bTree = new BinarySearchTree();
var list = new List<int> { 0, 10, 10, 5, 7, 15, 7, 2, 13, 3, 7};
foreach (var item in list)
bTree.Preorder(bTree.root);
bTree.Levelorder(bTree.root);
public void IncraseWeight()
public void AddNode(int data)
var node = new Node(data);
if (left == null) left = node;
if (right == null) right = node;
else right.AddNode(data);
if (this.data == data) weight++;
public BinarySearchTree() { }
public BinarySearchTree(int data)
public void Add(int data)
public void Preorder(Node node)
if (node == null) return;
Console.WriteLine(node.data);
public void Levelorder(Node node)
Queue<Node> q = new Queue<Node>();
Console.WriteLine(node.data);
if (node.left != null) q.Enqueue(node.left);
if (node.right != null) q.Enqueue(node.right);