コード例 #1
0
ファイル: TestMaxHeap.cs プロジェクト: Darktex/Running_Median
        public void TestInsert()
        {
            var list = new List<int> { 1, 9, 3, 6, 5, 2, 7, 11, 9 };
            var maxHeap = new MaxHeap();

            list.ForEach(elem => maxHeap.Add(elem));

            Assert.AreEqual(11, maxHeap.peekMax());
        }
コード例 #2
0
ファイル: TestMaxHeap.cs プロジェクト: Darktex/Running_Median
        public void testBunchOfInsertionsAndDeletions()
        {
            var list = new List<double> { 74, 101, 11, 1000, 4, -101, -1000 };
            var maxHeap = new MaxHeap();

            list.ForEach(elem => maxHeap.Add(elem));

            list.Sort();
            list.Reverse();
            var maxes = new List<double>();

            for (int i = 0; i < list.Count; i++)
            {
                maxes.Add(maxHeap.removeMax());
            }

            List<Tuple<double, double>> expectedVsActual = list.Zip(maxes, Tuple.Create).ToList();

            foreach(var tuple in expectedVsActual)
            {
                Assert.AreEqual(tuple.Item1, tuple.Item2);
            }
        }
コード例 #3
0
 public MedianFinder()
 {
     upperPortion = new MinHeap();
     lowerPortion = new MaxHeap();
 }
コード例 #4
0
ファイル: TestMinHeap.cs プロジェクト: Darktex/Running_Median
 public void testRemoveMaxWhenEmpty()
 {
     var minHeap = new MaxHeap();
     minHeap.removeMax();
 }
コード例 #5
0
 public MedianFinder()
 {
     upperPortion = new MinHeap();
     lowerPortion = new MaxHeap();
 }