예제 #1
0
파일: Program.cs 프로젝트: xarix/AiSD
        static void ShowResultsUsingFileData(List <int> data)
        {
            Console.Write(
                "\n" +
                "================================================================\n" +
                "Data: "
                );
            for (int i = 0; i < data.Count; i++)
            {
                Console.Write(data[i] + ", ");
            }
            Console.Write("\n");
            var bst        = new BST(data);
            var linkedList = new SortedLinkedList(data);

            Console.Write(
                "================================================================\n" +
                "Height: " + bst.Height().ToString() + "\n" +
                "Postorder: "
                );
            bst.PrintPostorder();
            Console.Write(
                "\n" +
                "Far right element value: "
                );
            bst.PrintFarRightElement();
            Console.Write(
                "================================================================\n"
                );
        }
예제 #2
0
파일: Program.cs 프로젝트: xarix/AiSD
        static void CompareInsertSearchDestroy(uint start, uint step, uint stop)
        {
            uint numberOfElements = start;

            using (StreamWriter output = File.CreateText(RESULTS_DIRECTORY + "BST_LinkedList_Speed.csv"))
                using (CsvWriter csv = new CsvWriter(output, System.Globalization.CultureInfo.CurrentCulture))
                {
                    csv.Configuration.NewLine   = NewLine.LF;
                    csv.Configuration.Delimiter = ",";
                    csv.WriteHeader(typeof(AccessTimeComparisonResults));
                    Console.WriteLine(AccessTimeComparisonResults.HeaderToString());
                    while (numberOfElements <= stop)
                    {
                        // var stopwatch = new Stopwatch();
                        // stopwatch.Start();
                        var data       = DataGenerator.UniqueArray(numberOfElements);
                        var bst        = new BST();
                        var linkedList = new SortedLinkedList();
                        var result     = new AccessTimeComparisonResults
                        {
                            NumberOfElements  = numberOfElements,
                            BSTInsert         = bst.MeasureInsertTime(data),
                            LinkedListInsert  = linkedList.MeasureInsertTime(data),
                            BSTSearch         = bst.MeasureSearchTime(data),
                            LinkedListSearch  = linkedList.MeasureSearchTime(data),
                            BSTDestroy        = bst.MeasureDestroyTime(),
                            LinkedListDestroy = linkedList.MeasureDestroyTime()
                        };
                        Console.WriteLine(result.DataToString());
                        csv.NextRecord();
                        csv.WriteRecord(result);
                        // stopwatch.Stop();
                        // Console.WriteLine("raport row #" + (((numberOfElements - start) / step) + 1) + stopwatch.Elapsed);
                        numberOfElements += step;
                    }
                }
        }