public void TestGet() { var node = tree.Get(5); Assert.AreEqual(tree.Root, node); Assert.AreSame(tree.Root, node); node = tree.Get(2); Assert.AreEqual(tree.Root.Left.Right, node); Assert.AreSame(tree.Root.Left.Right, node); }
static void Test2() { var tree = new RbTree(null, null); var t1 = DateTime.Now; for (int i = 0; i < 1000000; i++) { RbKey key = new IntKey(i); tree.Insert(key, 10 + i); } Console.WriteLine(String.Format("Insert time: {0} sec", Convert.ToDecimal(DateTime.Now.Subtract(t1).TotalMilliseconds) / 1000)); t1 = DateTime.Now; bool found; object value; for (int i = 0; i < 1000000; i++) { RbKey key = new IntKey(i); tree.Get(key, out value, out found); } Console.WriteLine(String.Format("Search time: {0} sec", Convert.ToDecimal(DateTime.Now.Subtract(t1).TotalMilliseconds) / 1000)); for (int i = 0; i < 1000000; i++) { RbKey key = new IntKey(i); tree.Delete(key); } Console.WriteLine(String.Format("Delete time: {0} sec", Convert.ToDecimal(DateTime.Now.Subtract(t1).TotalMilliseconds) / 1000)); }