Exemplo n.º 1
0
        private static void AfterBottomNMaxHeapAdding_WorstCase()
        {
            double[] data = new double[2000000];


            Stopwatch stopWatch = new Stopwatch();

            stopWatch.Start();

            BottomNMaxHeap <double> heap = new BottomNMaxHeap <double>(50);

            for (int val = data.Length; val > 0; val--)
            {
                heap.Add(val);
            }

            for (int i = 0; i < 50; i++)
            {
                //// 50 bottom n
                Console.WriteLine(heap.Pop());
                //heap.Pop();
            }

            stopWatch.Stop();
            Console.WriteLine("Time: {0} ms", stopWatch.ElapsedMilliseconds);
            Console.WriteLine("Press any key to continue..");
            Console.ReadLine();
        }
Exemplo n.º 2
0
        private static void AfterBottomNMaxHeapAdding_AverageCase()
        {
            Random rand = new Random();

            int[]    int_data = Enumerable.Range(0, 2000001).OrderBy(c => rand.Next()).ToArray();
            double[] data     = new double[int_data.Count()];
            for (int ind = 0; ind < data.Count(); ind++)
            {
                data[ind] = int_data[ind];
                //data[ind] = rand.Next(100000000);
            }

            Stopwatch stopWatch = new Stopwatch();

            stopWatch.Start();

            BottomNMaxHeap <double> heap = new BottomNMaxHeap <double>(50);

            for (int val = 0; val < data.Length; val++)
            {
                heap.Add(data[val]);
            }

            for (int i = 0; i < 50; i++)
            {
                //// 50 bottom n
                //Console.WriteLine(heap.Pop());
                heap.Pop();
            }

            stopWatch.Stop();
            Console.WriteLine("Time: {0} ms", stopWatch.ElapsedMilliseconds);
            Console.WriteLine("Press any key to continue..");
            Console.ReadLine();
        }
Exemplo n.º 3
0
        private static void BottomNMaxHeapConstruct()
        {
            double[] data_arr            = new[] { 8.0, 7, 2, 1, 18, 32, 16, 21, 4, 0, 70 };
            BottomNMaxHeap <double> heap = new BottomNMaxHeap <double>(data_arr.Length);

            foreach (var item in data_arr)
            {
                heap.Add(item);
            }
            //Console.WriteLine(heap);

            while (heap.CanPop())
            {
                Console.WriteLine(heap.Pop());
            }

            Console.ReadLine();
        }