¿La técnica de dos punteros se considera una búsqueda binaria en algunos problemas?

En el contexto de la programación competitiva, la respuesta es NO.

Estoy de acuerdo en que ambos implican mantener dos punteros. La técnica de optimización de dos punteros se aplica generalmente en alguna clase de problemas que involucran el recorrido de la matriz para calcular cierta cantidad y reducir la complejidad de O (N ^ 2) a O (N) u O (N log N). Al igual que la técnica de búsqueda binaria, se mantienen dos punteros, izquierdo y derecho, de modo que left <= right.

Pero la diferencia está en la forma en que avanzan los punteros. Ambos avanzan en la misma dirección en el caso de la técnica de optimización de dos punteros, donde, como en la búsqueda binaria, ambos punteros convergen a un punto particular.

Otra diferencia obvia. Los problemas que involucran dos técnicas de puntero no necesitan ser problemas de búsqueda. Considere el siguiente problema: dada una cadena de un millón de caracteres, calcule el número de subcadenas de modo que solo tengan un tipo de vocal.

Los dos punteros y la búsqueda binaria son dos técnicas diferentes. Ambos se utilizan para resolver algún problema de manera muy eficiente. Su mecanismo de trabajo y complejidad son todos diferentes.

Pero tienen un problema común. Muchos problemas de búsqueda binaria se pueden resolver utilizando dos técnicas de puntero en menor complejidad. Resuelvo muchos problemas en las fuerzas de código que se pueden resolver tanto con la búsqueda binaria como con dos punteros. Pero si lo resuelve utilizando la búsqueda binaria la mayor parte del tiempo, la complejidad general es como O (Nlog N), pero el mismo problema puede resolverse utilizando dos punteros en la complejidad O (N).

Entonces, la conclusión es que son dos técnicas diferentes. Pero hay algún problema en el que ambas técnicas pueden resolver el problema. Puede tener una lista de este tipo de problemas en codeforeces. Aquí te doy una lista

Conjunto de problemas – Codeforces

Intenta resolverlos usando ambas técnicas. Te darás cuenta.

More Interesting

¿Las estructuras en lenguaje C son similares a los objetos en Java?

Se dan N nodos idénticos. ¿Cuántos árboles binarios son posibles?

Siempre sueño con trabajar en grandes empresas tecnológicas como Google o Facebook, pero mi habilidad con los algoritmos es muy débil. Intento resolver problemas en Google Code Jam y CodeChef, pero solo puedo resolver los fáciles. ¿Qué tengo que hacer?

¿Debo usar una matriz o un objeto para implementar una clase de cola de JavaScript?

¿Qué debo comenzar primero con estructuras de datos y algoritmos o inteligencia artificial de aprendizaje automático?

¿Cuál es el algoritmo de tiempo polinómico de peor caso de más rápido crecimiento utilizado en la práctica?

¿Cuál es la operación que tiene la constante más pequeña?

¿De dónde obtienen los algoritmos comerciales sus datos sin procesar?

¿Cuáles son los conceptos básicos de cifrado y criptografía?

¿Cuál es la complejidad temporal de resolver de manera recursiva el problema del salto de palabra?

¿Cuál es el algoritmo para la eliminación en un árbol B +?

¿Por qué no puedo resolver la subsecuencia creciente más larga simplemente ordenando la secuencia y luego iterando a través de cada elemento asegurándome de que la secuencia siempre esté aumentando?

¿Cuál es la diferencia entre árboles binarios completos y completos?

Cómo calcular el producto máximo de una cadena entera usando k multiplicaciones

¿Cómo se podrían analizar las publicaciones arbitrarias de Reddit para adivinar si el póster es suicida?