public IList <T1> GetShortestPath(T1 from, T1 to)
        {
            DijsktraTable dijsktraTable = DijsktraTable.MakeDijkstra(from, to, Nodes);
            //IList<T1> list = new List<T1>();
            Stack <T1> stack = new Stack <T1>();

            stack.Push(to);
            while (!stack.Peek().Equals(from))
            {
                stack.Push(dijsktraTable.PerviosNodes[stack.Peek()]);
            }
            return(stack.ToList <T1>());
        }
        public T2 GetShortestDistance(T1 from, T1 to)
        {
            DijsktraTable dijsktraTable = DijsktraTable.MakeDijkstra(from, to, Nodes);

            return(dijsktraTable.Distances[to]);
        }