|
Teoría: Estructuras. Temas de estudio. Menu Ecuación Temporal ->Algoritmos de orden cúbico | ||
|
||
Orden de la matriz | ||
? |
Clave |
i=N | |
∑ | i ! = Ο(n2) |
i=1 |
|
||||
Orden de la matriz
|
||||
? |
for(i=0;i < N-1; i++) { for(j=i+1; j < N; j++) { if(a[i] > a[j]) { temp=a[i]; a[i]=a[j]; a[j]=temp; } } } | ||
N | ||
? |
? |
|
Teoría: Estructuras. Temas de estudio. Menú Ecuación Temporal -> El problema de las vueltas | |||
si i == 1 y j < valori entonces c[i,j] es ∞ sino si i == 1 entonces c[i,j] = 1 + c[1, j-valor1] sino si j < valori entonces c[i,j] = c[i-1, j ] sino c[i,j]= mínimo (c[i-1, j], 1 + c[i, j-valori] ) |
|||
Número de monedas | Valor de las vueltas. (1->30) | ||
? |
t = 116 // ascii de 't' | |||||||||||||||
p = 23 // primo | |||||||||||||||
q = 31 // primo | |||||||||||||||
n = 29 // primo | |||||||||||||||
fi = (p-1) * (q-1) | |||||||||||||||
z = p * q | |||||||||||||||
(n * s) % fi == 1 | |||||||||||||||
Calcule s con un ciclo desde n+1 hasta | |||||||||||||||
encontrar un valor que satisfaga la | |||||||||||||||
igualdad. | |||||||||||||||
( t ^ n ) % z es el valor encriptado | |||||||||||||||
Usando la propiedad: | |||||||||||||||
(ab) % z = ( (a % z) * (b % z) ) % z | |||||||||||||||
tenemos que: | |||||||||||||||
El Arreglo a[] tiene un tamaño igual al número de bits de n | |||||||||||||||
( t ^ 1) % z = 116 almacenarlo en a[0] | |||||||||||||||
( t ^ 2) % z = ((( t ^ 1) % z)*(( t ^ 1) % z)) % z = 622 a[1] | |||||||||||||||
( t ^ 4) % z = ((( t ^ 2) % z)*(( t ^ 2) % z)) % z = 438 a[2] | |||||||||||||||
( t ^ 8) % z = ((( t ^ 4) % z)*(( t ^ 4) % z)) % z = 47 a[3] | |||||||||||||||
( t ^ 16) % z = ((( t ^ 8) % z)*(( t ^ 8) % z)) % z = 70 a[4] | |||||||||||||||
y asi sucesivamente hasta analizar todos los bits de n (1 1 1 0 1) | |||||||||||||||
Para el caso particular | |||||||||||||||
los valores del arreglo a[] son: | |||||||||||||||
| |||||||||||||||
Como n en binario es: | |||||||||||||||
1 1 1 0 1 | |||||||||||||||
4 3 2 1 0 | |||||||||||||||
Cada bit prendido corresponde a una posición del arreglo a[] | |||||||||||||||
bit 0(a[0]), (bit 1 esta apagado), bit 2(a[2]), bit 3(a[3]), bit 4(a[4]) | |||||||||||||||
entonces | |||||||||||||||
(t ^ 29) % z se calcula así: | |||||||||||||||
(t ^ 5) % z es ( ((t ^ 1) % z) * ((t ^ 4) % z) % z) = 185 (a[0] y a[2]) | |||||||||||||||
(t ^ 13) % z es ( ((t ^ 5) % z) * ((t ^ 8) % z) ) % z = 139 (a[3]) | |||||||||||||||
(t ^ 29) % z es ( ((t ^ 13) % z) * ((t ^ 16) % z) % z = 461 (a[4]) | |||||||||||||||
Ejecutando las operaciones tenemos: | |||||||||||||||
(116 * 438) % z = 185 | |||||||||||||||
(185 * 47) % z = 139 | |||||||||||||||
(139 * 70) % z = 461 | |||||||||||||||
De manera que el caracter | |||||||||||||||
t encriptado es 461. | |||||||||||||||
Para acceder a cada bit de n, lo podemos hacer con este ciclo: | |||||||||||||||
k = 0; | |||||||||||||||
while(n > 0) { | |||||||||||||||
if(n % 2 != 0) { | |||||||||||||||
// calculos | |||||||||||||||
} | |||||||||||||||
k++; // para acceder el arreglo a[] | |||||||||||||||
n = n >> 1; // para acceder al próximo bit | |||||||||||||||
} | |||||||||||||||
Para des-encriptar t, | |||||||||||||||
ejecutamos el mismo proceso | |||||||||||||||
con el número 461 como valor a desencriptar | |||||||||||||||
y los bits de s como valor en n. |
p | q | n | Palabra a encriptar |
---|---|---|---|
? |
Teoría: Estructuras. Temas de estudio. Menú Ecuación Temporal -> El problema de la mochila | ||
Cualquier Valor se consigue: V[i, j ] = max(V[i-1, j ], V[i-1, j - pesoi] + vi) | Llamado 0-1 knapsack porque los items no se pueden dividir |
|
Peso limite | ||
Número de articulos | ||
Digite Pesos | ||
Digite Valores | ||
? |
Teoría: Assembler. Temas de estudio. Menú Datos DQ, La pila, Recursión -> N-esimo termino Fibonacci |
Digite Termino (0->8): |
? |
Métodos para calcular el número de Dispersión. |
Teoría: Estructuras. Temas de estudio. Menú Arboles B/B+ y Dispersión |
Método de división | Método de Midsquare |
Digite tamaño del arreglo: |
Digite número de bits centrales:
|
Método de Transformación | Método de Plegamiento |
Digite la base:
Digite tamaño del arreglo: |
Digite el número de bits de cada grupo:
|
Métodos para resolver colisiones. |
Teoría: Estructuras. Temas de estudio. Menú Arboles B/B+ y Dispersión |
Enc. separado Se usa el Método de división para calcular el número de dispersión. Digite un número primo. |
Enc. Lineal Se usa el Método de división para calcular el número de dispersión. Digite un número primo. |
Doble Hash Se usa el Método de división para calcular el número de dispersión. Digite un número primo. |
Prueba cuadrática Se usa el Método de división para calcular el número de dispersión. Digite un número primo. |
Por defecto: | Por defecto: | Por defecto: | Por defecto: |
Si no las genera aleatoriamente, digite las llaves separadas por , y sin espacios. Si necesita insertar una llave adicional a las que ya insertó, agregue la llave al final de las que ya digitó, pero no borre las anteriores. |
||
Número de llaves
(Cuantas llaves va a dispersar aleatoriamente):
|
||
|
||
|
||
Retiro de llaves. Se puede retirar una llave cada vez. | ||
| ||
|
||
?
|
Teoría: Estructuras. Temas de estudio. Arboles Enearios | ||||
Se pueden insertar máximo 20 palabras. Digite las palabras separadas por , y sin espacios. Si necesita insertar una palabra adicional a las que ya insertó, agregue la palabra al final de las que ya digitó, pero no borre las anteriores. |
||||
? |
Distribuidores a nivel Nacional. No a la pirateria. Adquiera un libro. |
Teléfonos: 3102563361 (1)4573045 |
Dirección: Calle 75A No. 20B-41 Bogotá Colombia |