/// <summary> /// Testing using a reference data structue and unique randomized double arrray. /// </summary> /// <param name="size"></param> /// <param name="repetition"></param> /// <param name="type"></param> public void BinaryHeapSuperFancyTest ( int size, int repetition, PriorityQImplementations type = PriorityQImplementations.SimpleBinaryHeap ) { }
public static IPriorityQ <T> GetInstance <T> (PriorityQImplementations type) where T : IComparable <T> { switch (type) { case PriorityQImplementations.SimpleBinaryHeap: return(new SimpleBinaryHeap <T>()); case PriorityQImplementations.FancierBinaryHeap: return(new FancierBinaryHeap <T>()); } return(null); }
public void BinaryHeapBasic( int size, int repetition, PriorityQImplementations type = PriorityQImplementations.SimpleBinaryHeap ) { for (int j = 1; j <= repetition; j++) { IPriorityQ <int> q = GetInstance <int>(type); int[] randomarr = GetRandomizedIntSequence(size); for (int i = 0; i < randomarr.Length; q.Enqueue(randomarr[i]), i++) { ; } for (int i = 0; i < randomarr.Length; Assert.AreEqual(i + 1, q.RemoveMin()), i++) { ; } } }