2010-11-11 19 views

Respuesta

7

Donald Knuth tiene un capítulo sobre "Selección mínima de comparación" en el Volumen III de El arte de la programación de computadoras.

Knuth dice: "ningún método general [de selección en el número mínimo de comparaciones] es evidente hasta el momento", pero da algunos métodos generales que se acercan al mínimo.

Al mirar la Tabla 5.3.3-1, podemos ver que V₄ (7) = 10 (es decir, puede encontrar el cuarto más grande de 7 elementos usando como máximo 10 comparaciones), y el algoritmo ("encontrado manualmente por ensayo y error ") se da en la solución para el ejercicio 5.3.3-10.

+1

Parece que TAoCP es necesario. @ - @ – zerr

+0

@zerr, Sin duda, siempre es necesario –

1

Si permite comparaciones en paralelo (una CPU moderna probablemente hará esto por usted), puede usar un sorting network para resolver el problema en seis pasos.

+0

¿Podría proporcionar una referencia a la implementación de 6 comparaciones? Gracias –

+0

Claro, aquí tienes: http://www.angelfire.com/blog/ronz/Articles/999SortingNetworksReferen.html – Rafe

+0

Vi ese artículo, pero creo que no puede decir que n = 7 podría hacerse con 6 comparaciones . –

Cuestiones relacionadas