Tag: QUICKSORT
Estoy intentando contar las operaciones de intercambio y comparación en un quicksort. Creo que he configurado los contadores en las ubicaciones correctas, pero debido a la recursión, nunca obtengo la cantidad correcta para estos valores. Para ‘almacenar’ los valores a lo largo de la recursión, los paso como parámetros (qui_swap . . . Read more
def partition(l, h): i, j = l, h while i < j: while arr[l] > arr[i]: i += 1 while arr[j] > arr[l] and j >= 0: j += 1 if i < j: arr[i], arr[j] = arr[j], arr[i] arr[l], arr[j] = arr[j], arr[l] return j La complejidad de tiempo . . . Read more
El siguiente es un algoritmo de particionamiento de Hoare según Wikipedia. Código pseudo de Wikipedia: algoritmo particion(A, lo, hi) es // Valor pivote pivot := A[ floor((hi + lo) / 2) ] // El valor en el medio del arreglo // Índice izquierdo i := lo – 1 // Índice . . . Read more
He estado tratando de implementar un ordenamiento rápido de una matriz de matrices de caracteres en C, pero me está dando un error de violación de segmento que no puedo depurar. Este es el código: int partition(char **a, int left, int right) { int i, j; char pivot[16]; strcpy(pivot, a[left]); . . . Read more
Estoy tratando de calcular la expresión a continuación. El punto donde no puedo entender es de la línea 3 a la línea 4. Creo que después de la línea 3, la expresión se convierte en: Sigma(i=1 to n-1) (lg(n-i)) Pero, ¿podemos escribirlo como en la línea 4? No estoy seguro . . . Read more