Una búsqueda ternaria determina que el extremo que se busca, no puede estar en el primer tercio del dominio o que no puede estar en el último tercio del dominio, luego se repite el proceso en los dos tercios restantes.
Una búsqueda ternaria es un ejemplo de un Algoritmo divide y vencerás (ver Algoritmo de búsqueda).
Supongamos que estamos buscando un máximo de f(x) y sabemos que el máximo se encuentra en algún lugar entre A y B.
Para que el algoritmo sea aplicable debe haber un valor x tal que Sea f(x) una función unimodal en el intervalo [l; r].
Tomamos dos puntos m1 y m2 en este segmento: l < m1 < m2 < r. Entonces, hay tres posibilidades: Puntos de partición m1 y m2: en lenguaje Python: en lenguaje C: en lenguaje Python: en lenguaje C: