Example #1
0
		public static Recorrido Concatenar(Recorrido R1, Recorrido R2)
		{
			Vertice[] Retorno = new Vertice[R1.Longitud + R2.Longitud - 1];

			if (R1.Grafo == R2.Grafo) {
				for (int i = 0; i <= Retorno.GetUpperBound(0); i++) {
					if (i <= R1.Vertices.GetUpperBound(0)) {
						Retorno[i] = R1.Vertices[i];
					} else {
						Retorno[i] = R2.Vertices[i - R1.Vertices.GetUpperBound(0)];
					}
				}

				return new Recorrido(R1.Grafo, Retorno);
			} else {
				throw new ExcepcionDiscreta("RECORRIDO(CONCATENAR): No se pueden concatenar dos recorridos de grafos diferentes");
			}
		}
Example #2
0
		public static Grafo SubGrafo(Grafo Grafo, Recorrido Recorrido)
		{
			return SubGrafo(Grafo, Recorrido.Vertices);
		}