Exemple #1
0
        public PyramidTree CreateTree()
        {
            var input = arrayProvider.GetPyramidArray();

            PyramidTree tree = new PyramidTree();

            for (int i = 0; i < input?.Length; i++)
            {
                tree.AddNode(input[i]);
            }

            return(tree);
        }
Exemple #2
0
        public List <List <int> > FindEvenOddPaths(PyramidTree tree)
        {
            if (tree == null || tree.Root == null)
            {
                return(null);
            }

            Paths     = new List <List <Node> >();
            treeDepth = tree.GetDepth();

            FindEvenOddPaths(tree.Root, new List <Node>());

            return(Paths.Select(path => path.Select(node => node.Value).ToList()).ToList());
        }
Exemple #3
0
        static void Main(string[] args)
        {
            var service = new PyramidTreeService(new StaticPyramidArrayProvider());

            PyramidTree tree = service.CreateTree();
            //tree.Print();
            //Console.WriteLine();

            var paths = service.FindEvenOddPaths(tree);

            service.PrintAllPaths(paths);
            service.PrintLongestPath(paths);

            Console.ReadLine();
        }