|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Temas - Gaudy
Páginas: [1]
1
« en: Viernes 14 de Septiembre de 2012, 23:58 »
Buenas, recién estoy estudiando C y me topé con una duda acá typedef struct { float re; float im; } complex; complex a, b, c[100];
se supone q la variable c es de tipo complex, pero... es un arreglo?? se puede hacer eso?? porq segun tenia entendido las variables miembros de estructura son para hacer referencia (propia) a re e im de tipo float, pero q hace un arreglo en el medio¿?
2
« en: Domingo 3 de Julio de 2011, 23:45 »
Buenas, necesito hacer funcionar el Algoritmo de Edmonds-Karp que encuentra el Flujo Maximo de un Grafo. Si bien me conseguí la implementacion en Java, pero me hace falta entender que parametros exactamente me pide el método. Por cierto:C: es la matriz de representacion del Grafo E: ? s: nodo de inicio t: nodo destino Mi dudas son:Si fuera posible que alguien me explicara que es el E, se q es una matriz, pero no se de que. En el parametro me piden los nodos s y t, pero en ¿¿formato int?? [php:3mfhc41b] - import java.util.*;
-
- /**
- * Finds the maximum flow in a flow network.
- * @param E neighbour lists
- * @param C capacity matrix (must be n by n)
- * @param s source
- * @param t sink
- * @return maximum flow
- */
- public class EdmondsKarp {
- public static int edmondsKarp(int[][] E, int[][] C, int s, int t) {
- int n = C.length;
- // Residual capacity from u to v is C[v] - F[v]
- int[][] F = new int[n][n];
- while (true) {
- int[] P = new int[n]; // Parent table
- Arrays.fill(P, -1);
- P[s] = s;
- int[] M = new int[n]; // Capacity of path to node
- M[s] = Integer.MAX_VALUE;
- // BFS queue
- Queue<Integer> Q = new LinkedList<Integer>();
- Q.offer(s);
- LOOP:
- while (!Q.isEmpty()) {
- int u = Q.poll();
- for (int v : E[u]) {
- // There is available capacity,
- // and v is not seen before in search
- if (C[u][v] - F[u][v] > 0 && P[v] == -1) {
- P[v] = u;
- M[v] = Math.min(M[u], C[u][v] - F[u][v]);
- if (v != t)
- Q.offer(v);
- else {
- // Backtrack search, and write flow
- while (P[v] != v) {
- u = P[v];
- F[u][v] += M[t];
- F[v][u] -= M[t];
- v = u;
- }
- break LOOP;
- }
- }
- }
- }
- if (P[t] == -1) { // We did not find a path to t
- int sum = 0;
- for (int x : F[s])
- sum += x;
- return sum;
- }
- }
- }
- }
[/php:3mfhc41b]
3
« en: Miércoles 1 de Junio de 2011, 18:39 »
Buenas, aca traigo otras de mis dudas, en el otro tema habia dixo q ecien estoy empesando con este lenguaje, he visto varios tutoriales de momento, pero sinembargo me estoy topando con problemas (quizas para muchos muy sencillos de tratar), el compilador me esta tirando un error en la linea 28 (la linea despues de la definicion de la funcion insercion), no entiendo el porq del error por lo q tampoco en ningun momento lo llamo, espero q me puedan responder a esta duda, se los agradecería. File "C:Documents and SettingsUsuarioMis documentosNetBeansProjectsSorts_Pythonsrcsorts_python.py", line 28 SyntaxError: Non-UTF-8 code starting with 'xf1' in file C:Documents and SettingsUsuarioMis documentosNetBeansProjectsSorts_Pythonsrcsorts_python.py on line 28, but no encoding declared; see [ENLACE Q EL FORO ME IMPIDE COLOCAR] for details
import random lista_Ordenada = [ ] lista_desordenada = [ ] lista_aleatoria = [ ] longitud = 100 def quicksort(datos, primero, ultimo): i = primero j = ultimo pivote = (datos[primero] + datos[ultimo]) / 2 while i < j: while datos[i] < pivote: i+=1 while datos[j] > pivote: j-=1 if i <= j: aux = datos[i] datos[i] = datos[j] datos[j] = aux i+=1 j-=1 if primero < j: datos = quicksort(datos, primero, j) if ultimo > i: datos = quicksort(datos, i, ultimo) return datos def insertionsort(numeros): #numeros es una lista tama = len(numeros) #creamos una variable igual al tamaño de la lista i=0 for i in range(tama): indice = numeros[i] a = i-1 while (a >= 0 and numeros[a] > indice): numeros[a+1] = numeros[a] a = a-1 numeros[a+1] = indice print numeros #imprime la lista ordenada def seleccion(lista): n = len(lista) for i in range(0,n-1): k = i t = lista[i] for j in range(i,n): if lista[j] < t: k = j t = lista[j] lista[k] = lista[i] lista[i] = t return lista def ordenaburbuja(l): for pasada in range(1, len(l)): for i in range(0,len(l)-pasada): if l[i] > l[i+1]: l[i], l[i+1] = l[i+1], l[i] return l for i in range(longitud-1): j = longitud - i lista_Ordenada.append(i+1) lista_desordenada.append(j-1) lista_aleatoria.append(random.randint(1, 100)) quicksort(lista_aleatoria,0,len(lista_aleatoria)-1) for i in range(longitud-1): print(lista_aleatoria[i])
EDITO: Ya lo solicioné, se me olvidaba especificar q la version q uso es el 3.2, la ultima linea de insertsort me faltaba agregar los parentes de la impresion print (numeros), pero aun daba el mismo error, este se solucionó quitando el comentario #creamos una variable igual al tamaño de la lista. Simplemente no entiendo como es q un comentario pueda dar problemas al momento de compilar, me quito un buen tiempo intentando entender porq no funcionaba y fue lo q menos em esperaba, un comentario =S Bueno... ya esta solucionado, aunq quiciera q alguien me explicara porq daba problemas el comentario =P Gracias
4
« en: Miércoles 1 de Junio de 2011, 18:26 »
Buenas, hace unos días acabo de empezar a estudiar pitón, pero no me quedó claro el tema de asignación, les explico: En las ultimas líneas llamo a la función quicksort ingresando una lista_aleatoria de parámetro, pero cuando termina de ejecutarse el método de ordenamiento, me encuentro que la lista_aleatoria fue ordenada sin q se lo especificara, como le hago para evitar esto? Puesto q necesito de esta misma lista para usarlo en otros métodos de ordenamiento. import random lista_aleatoria = [ ] longitud = 100 def quicksort(datos, primero, ultimo): i = primero j = ultimo pivote = (datos[primero] + datos[ultimo]) / 2 while i < j: while datos[i] < pivote: i+=1 while datos[j] > pivote: j-=1 if i <= j: aux = datos[i] datos[i] = datos[j] datos[j] = aux i+=1 j-=1 if primero < j: datos = quicksort(datos, primero, j) if ultimo > i: datos = quicksort(datos, i, ultimo) return datos for i in range(longitud-1): j = longitud - i lista_aleatoria.append(random.randint(1, 100)) quicksort(lista_aleatoria,0,len(lista_aleatoria)-1) for i in range(longitud-1): print(lista_aleatoria[i])
Páginas: [1]
|
|
|