Tag: QUICKSORT
No estoy obteniendo una salida del siguiente código de ordenamiento rápido: “`python def quick_sort(sequence): length = len(sequence) if length<=1: return sequence else: pivot = sequence.pop() item_greater = [] item_lower = [] for item in sequence: if item> pivot: item_greater.append(item) <pre><code> else: item_lower.append(item) print( quick_sort(item_lower) + [pivot] + quick_sort(item_greater)) </code></pre> <code> . . . Read more
Enfrento un gran problema con el algoritmo de Quicksort. Tengo que elegir un pivote con la mediana de 3, 5 y 7 elementos del arreglo. Lo he hecho para 3 elementos, pero no está funcionando correctamente y no sé cómo volver a hacer este código alternativamente para tomar la mediana . . . Read more
def particionar(A, l, r): p = A[l] stack = A[l] A[l] = A[r] A[r] = stack s = l for i in range(l, r): if A[i] <= p: stack2 = A[i] A[i] = A[s] A[s] = stack2 s += 1 stack3 = A[s] A[s] = A[r] A[r] = stack3 return . . . Read more
Básicamente estoy tratando de entender por qué funciona hacer una asignación de varias variables para implementar Quick sort de la siguiente manera: if a_list[i] > a_list[i+1]: a_list[i], a_list[i+1] = a_list[i+1], a_list[i] Pero no funciona hacerlo línea por línea, así: if a_list[i] > a_list[i+1]: a_list[i] = a_list[i+1] a_list[i+1] = a_list[i] Aquí . . . Read more
Estaba resolviendo problemas de ordenamiento de arrays y encontré que una solución de ordenamiento rápido es extremadamente rápida, y la única diferencia son las dos líneas de código en la función 1Partition. Me pregunto por qué las siguientes dos líneas de código en 1Partition pueden mejorar significativamente el rendimiento: int . . . Read more