Dado un conjunto de datos sin clasificar de tamaño n, si usa la selección de clasificación para ordenar los datos, ¿cuántas búsquedas binarias necesitaría realizar en el conjunto de datos sin clasificar para “recomprar” el costo que conlleva la clasificación de sus datos si n = (2 ^ 4)?

Como Garrick mencionó en su comentario, los costos asintóticos del tipo de selección y la búsqueda binaria no le dicen prácticamente nada sobre el número real de comparaciones utilizadas. El análisis asintótico le dice cómo crece el número de comparaciones en función de [matemáticas] n [/ matemáticas] como [matemáticas] n \ rightarrow \ infty [/ matemáticas].

La selección de selección en realidad usa [matemáticas] (n-1) + (n-2) + \ puntos + 1 = \ frac {n (n-1)} {2} [/ matemáticas] comparaciones y búsquedas binarias usa [matemáticas] \ Comparaciones lceil \ log_2 (n + 1) \ rceil [/ math] (en el peor de los casos). Para [matemática] n = 16 [/ matemática], esto es 120 comparaciones para el tipo de selección y 5 comparaciones para la búsqueda binaria. Buscar los elementos desordenados requeriría 16 comparaciones en el peor de los casos.

Después de 11 búsquedas, habría utilizado como máximo [matemáticas] 120 + 5 \ cdot 11 = 175 [/ matemáticas] si hubiera ordenado los elementos o como máximo [matemáticas] 16 \ cdot 11 = 176 [/ matemáticas] si hubiera tenido No los clasifiqué.

Por supuesto, este análisis solo importa si te importa el peor de los casos. Si tiene conocimiento sobre el tipo de consultas que se realizarían, podría hacer un tipo similar de análisis de casos promedio.

Creo que lo que tienes es correcto si esperas que la mayoría de las búsquedas se pierdan. Si en la mayoría de los casos se encuentra el artículo, en promedio, un escaneo lineal solo necesitará N / 2 iteraciones para encontrar el artículo. Entonces el lado derecho de tu ecuación sería 8x. Solo si los elementos no se encuentran generalmente, terminaría escaneando toda la lista.