public void TestRun() { var stuff = new HatinaryTree <int>(1); var otherstuff = new HatinaryTree <int>(2); WriteLine(HatinaryTree <int> .Merge(stuff, otherstuff)); }
public void TestMergingDifferentRank() { var B2 = ConstructB2(new int[] { 1, 2, 3, 4 }); TestDelegate stuff = () => { HatinaryTree <int> .Merge(B2, new HatinaryTree <int>(5)); }; AssertThrow <Exception>(stuff); }
/// <summary> /// Construct a basic B2 out of this shit. /// </summary> /// <returns></returns> public static HatinaryTree <int> ConstructBasicIntB2() { var B0 = new HatinaryTree <int>(65); var B1 = HatinaryTree <int> .Merge(B0, new HatinaryTree <int>(24)); var B0_1 = new HatinaryTree <int>(21); var B1_1 = HatinaryTree <int> .Merge(B0_1, new HatinaryTree <int>(12)); return(HatinaryTree <int> .Merge(B1, B1_1)); }
/// <summary> /// Given 4 element, method constructs a B2 binomial tree. /// </summary> /// <typeparam name="T">Comprable Type</typeparam> /// <param name="args">List </param> /// <returns> /// Hatinary Tree contating all the elements in it. /// </returns> public static HatinaryTree <T> ConstructB2 <T>(params T[] args) where T : IComparable <T> { var B0_1 = new HatinaryTree <T>(args[0]); var B0_2 = new HatinaryTree <T>(args[1]); var B1_1 = HatinaryTree <T> .Merge(B0_1, B0_2); var B0_3 = new HatinaryTree <T>(args[2]); var B0_4 = new HatinaryTree <T>(args[3]); var B1_2 = HatinaryTree <T> .Merge(B0_3, B0_4); return(HatinaryTree <T> .Merge(B1_1, B1_2)); }