Ejemplo n.º 1
0
        private static void TestHeapSort()
        {
            var array = new int[] { 8, 9, 7, 6, 5, 4, 3, 2, 1 };

            HeapSort.Sort(array);

            Console.WriteLine(string.Join(", ", array));
        }
Ejemplo n.º 2
0
        private static void HeapSort()
        {
            var heapSort = new HeapSort();

            heapSort.Run();
        }
Ejemplo n.º 3
0
        static void Main(string[] args)
        {
            int[] data = new int[] { 5, 2, 1, 4, 3, 5, 0, 9, 5, 4, 3, 2, 1, 0 };

            Console.WriteLine("Heap Sort");
            int[] sorted1 = new HeapSort(data, data.Length).Sort();
            HeapSort.PrintArray(sorted1, sorted1.Length);

            Console.WriteLine("Quick Sort");
            int[] sorted2 = new QuickSort(data, data.Length).Sort();
            QuickSort.PrintArray(sorted1, sorted1.Length);

            Console.WriteLine("Merge Sort");
            int[] sorted3 = new MergeSort(data, data.Length).Sort();
            MergeSort.PrintArray(sorted1, sorted1.Length);

            Console.WriteLine("Graph - BFS");
            Graph g = new Graph(4);

            g.AddEdge(0, 1);
            g.AddEdge(0, 2);
            g.AddEdge(1, 2);
            g.AddEdge(2, 0);
            g.AddEdge(2, 3);
            g.AddEdge(3, 3);

            g.BFS(2, (i) => Console.Write("{0} ", i));
            Console.WriteLine(string.Empty);

            Console.WriteLine("Graph - DFS");
            g.DFS(2, (i) => Console.Write("{0} ", i));
            Console.WriteLine(string.Empty);

            Graph g1 = new Graph(9);
            List <List <int> > g2 = new List <List <int> >()
            {
                new List <int>()
                {
                    0, 4, 0, 0, 0, 0, 0, 8, 0
                },
                new List <int>()
                {
                    4, 0, 8, 0, 0, 0, 0, 11, 0
                },
                new List <int>()
                {
                    0, 8, 0, 7, 0, 4, 0, 0, 2
                },
                new List <int>()
                {
                    0, 0, 7, 0, 9, 14, 0, 0, 0
                },
                new List <int>()
                {
                    0, 0, 0, 9, 0, 10, 0, 0, 0
                },
                new List <int>()
                {
                    0, 0, 4, 14, 10, 0, 2, 0, 0
                },
                new List <int>()
                {
                    0, 0, 0, 0, 0, 2, 0, 1, 6
                },
                new List <int>()
                {
                    8, 11, 0, 0, 0, 0, 1, 0, 7
                },
                new List <int>()
                {
                    0, 0, 2, 0, 0, 0, 6, 7, 0
                }
            };

            for (int i = 0; i < g2.Count; i++)
            {
                for (int j = 0; j < g2[i].Count; j++)
                {
                    if (g2[i][j] > 0)
                    {
                        g1.AddEdge(i, j, g2[i][j]);
                    }
                }
            }

            g1.PrintDistance(g1.Dijakstra(0), 0);
            Console.WriteLine(string.Empty);

            Console.WriteLine("Binary Search");
            int[] arr = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
            foreach (int i in new int[] { -5, 1, 5, 8, 0, 10, 11 })
            {
                Console.WriteLine("Position of {0} = {1}", i, Search.BinarySearch(arr, i));
            }

            Console.WriteLine("Binary Search Next greatest - 1");
            int[] arr2 = new int[] { 100, 50, 40, 20, 10 };
            foreach (int i in new int[] { 5, 25, 50, 120 })
            {
                Console.WriteLine("Position of {0} = {1}", i, Search.BinarySearchNextGreatest(arr2, i));
            }

            Console.WriteLine("Binary Search Next greatest - 2");
            int[] arr3 = new int[] { 100, 90, 80, 75, 60 };
            foreach (int i in new int[] { 50, 65, 77, 90, 102 })
            {
                Console.WriteLine("Position of {0} = {1}", i, Search.BinarySearchNextGreatest(arr3, i));
            }

            Console.ReadKey();
        }
Ejemplo n.º 4
0
        private static void sorting()
        {
            Random rnd = new Random();
            int noElements=100000;

            var _elements = new int[noElements];
            for (int i=0; i<noElements; i++) {
                _elements [i] = rnd.Next (noElements*2);
                //_elements [i] = 1;
            }

            var _elements2=new int[noElements];
            Array.Copy(_elements, _elements2, noElements);
            var _elements3=new int[noElements];
            Array.Copy(_elements, _elements3, noElements);
            var _elements4=new int[noElements];
            Array.Copy(_elements, _elements4, noElements);

            /*Console.WriteLine ("Hello .NET Sort!");
            stw.Start();
            Array.Sort(_elements3);
            stw.Stop();
            var sp = stw.ElapsedMilliseconds;
            Console.WriteLine(string.Format("Sorted {0} elements.", noElements));
            Console.WriteLine(string.Format("Time taken: {0}", sp));

            Console.WriteLine ("Hello MergeSort!");
            MergeSort ms = new MergeSort(_elements2, noElements);

            Console.WriteLine ("Hello QuickSort!");
            QuickSort qs = new QuickSort(_elements, noElements);*/

            Console.WriteLine ("Hello HeapSort!");
            HeapSort hs = new HeapSort(_elements, noElements, true);

            HeapSort hs2 = new HeapSort(_elements2, noElements, false);
        }