コード例 #1
0
        public DijkstraUC(IndexForm _mainForm)
        {
            InitializeComponent();
            mainForm = _mainForm;

            currentGraph = new Graph();
            dijSolver    = SearchTree.Instance;

            initNode = new AlphaBetNode(currentGraph.InitNode, currentGraph);
            endNode  = new AlphaBetNode(currentGraph.EndNode, currentGraph);

            //Obtention des listes d'ouverts et de fermés successifs générées par le solveur appliqué
            //sur le graphe courant.
            openedClosedTracker = dijSolver.DijkstraSolve(currentGraph, initNode);

            evalResult = EvaluationResult.Instance;
            evalResult.DijkstraStatus = EvaluationResult.Status.In_Progress;
        }
コード例 #2
0
        static void Main(string[] args)
        {
            Graph        currentGraph = new Graph();
            SearchTree   DijSolver    = new SearchTree();
            AlphaBetNode initNode     = new AlphaBetNode(currentGraph.InitNode, currentGraph);
            List <List <GenericNode> > OpenedClosedStates = DijSolver.DijkstraSolve(currentGraph, initNode);

            foreach (List <GenericNode> lGnode in OpenedClosedStates)
            {
                foreach (GenericNode n in lGnode)
                {
                    Console.Write(n.Num.ToString());
                }

                Console.Write("\n");
            }

            Console.ReadKey();
        }