¿Utiliza un algoritmo de búsqueda lineal la estrategia de dividir y conquistar?

Depende de lo que clasifiques como divide y vencerás . La búsqueda lineal se puede reescribir como un algoritmo recursivo, pero no es un buen ejemplo de esto. Esto se debe a que es más como “pasar y ser perezoso”. Usted verifica una posición, luego divide el problema recursivamente en un trozo más pequeño, uno menos de tamaño. Técnicamente en el sentido más amplio, esto es dividir y conquistar, pero en realidad no captura la metáfora, no es cómo lo abordarías desde este ángulo. La idea es que desea dividir el problema en partes más fáciles de resolver, luego recombinar la solución después de que se resuelvan esas partes más fáciles (generalmente de forma recursiva de arriba hacia abajo).

Es bastante común ver otra forma de ajustar la búsqueda lineal en una configuración paralela, esto encajaría mejor en un enfoque de dividir y conquistar (si fuera a reescribirlo como un método recursivo), subdividir la matriz por intervalos y pasar estos intervalos a cada uno procesador y realice una búsqueda lineal en cada subintervalo, luego, si alguno de ellos devuelve verdadero, solo dé el primero que recupere. Puede hacer esto para acelerar la búsqueda lineal si esos fragmentos separados se pueden procesar en paralelo.

Independientemente de que la búsqueda lineal no sea realmente un buen ejemplo y realmente no se ajusta a la metáfora.

La búsqueda lineal no utiliza la estrategia de dividir y conquistar.

La estrategia de dividir y conquistar es cuando dividimos un conjunto de datos en múltiples subconjuntos pequeños y luego resolvemos el problema.

Ejemplo de estrategia de divide y vencerás es la búsqueda binaria.

En la búsqueda lineal no dividimos el conjunto de datos. Recorremos cada elemento del conjunto de datos de una vez. Entonces la búsqueda lineal no es dividir y conquistar.

More Interesting

Cómo obtener maestría en estructuras de datos y algoritmos

Entrevista Street puzzle: ¿Pregunta de hormigas en la sección de matemáticas?

¿Cuál es la complejidad temporal del algoritmo babilónico para encontrar la raíz cuadrada?

¿El conocimiento de algoritmos codiciosos a veces influye en la forma de tomar decisiones?

Dado un conjunto entero tal que cada elemento ocurre 3 veces, excepto un elemento, que ocurre solo una vez, ¿cómo encuentro ese único elemento en el espacio O (1) y en la complejidad del tiempo O (n)?

¿Cuáles son las ventajas de un árbol de búsqueda binaria sobre un árbol rojo-negro?

¿Es cierto que si me vuelvo competente en estructuras de datos y algoritmos, puedo aprender cualquier lenguaje de programación y habilidades técnicas muy rápido?

¿Cuál ha sido el desarrollo reciente en algoritmos de búsqueda en tiempo real?

¿Qué es un algoritmo de hashing seguro?

¿Qué algoritmo es fácil de aprender pero aún tiene una gran importancia?

En la complejidad temporal de un algoritmo, ¿por qué puede considerarse útil que una operación elemental tome "tiempo unitario"?

¿Por qué char array proporciona String cuando se imprime en el método System.out.println ()?

¿Cuál es su proceso de pensamiento cuando selecciona y define nuevas variables cuando escribe código?

¿La lista vinculada es una estructura de datos estática o una estructura de datos dinámica?

¿Necesito aprender algoritmos y estructuras de datos en la interfaz?