PUERTA | GATE-CS-2015 (Conjunto 2) | Pregunta 55

Suponga que se le proporciona la siguiente declaración de función en el lenguaje de programación C.

   int partition (int a[], int n); 

La función trata el primer elemento de a[] como un pivote y reorganiza la array para que todos los elementos menores o iguales que el pivote estén en la parte izquierda de la array, y todos los elementos mayores que el pivote estén en la parte derecha. . Además, mueve el pivote para que el pivote sea el último elemento de la parte izquierda. El valor de retorno es el número de elementos en la parte izquierda. La siguiente función dada parcialmente en el lenguaje de programación C se usa para encontrar el k-ésimo elemento más pequeño en una array a[ ] de tamaño n usando la función de partición. Suponemos k ≤ n

int kth_smallest (int a[], int n, int k)
{
   int left_end = partition (a, n);
   if (left_end+1==k)
   {
       return a [left_end];
   }
   if (left_end+1 > k)
   {
      return kth_smallest (____________________);
   }
   else
   {
      return kth_smallest (____________________);
    }
}

Las listas de argumentos faltantes son respectivamente
(A) (a, extremo_izquierdo, k) y (a+extremo_izquierdo+1, n–extremo_izquierdo–1, k–extremo_izquierdo–1)
(B) (a, extremo_izquierdo, k) y (a, n–extremo_izquierdo–1, k–extremo_izquierdo–1)
(C) (a, extremo_izquierdo+1, N–extremo_izquierdo–1, K–extremo_izquierdo–1) y(a, extremo_izquierdo, k)
(D) (a, n– left_end–1, k–left_end–1) y (a, left_end, k)

Respuesta: (A)
Explicación: Consulte el método 4 de https://www.geeksforgeeks.org/kth-smallestlargest-element-unsorted-array/
Quiz de esta pregunta

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *