¿Cuáles son algunos de los algoritmos / estructuras de datos que son útiles en la vida real?

siendo un graduado de TI, creo que soy la persona adecuada para responder esta pregunta.

En la universidad, solíamos estudiar una noche antes del examen y rezábamos a Dios solo para aprobar. No pensamos mucho en las partes de aplicación.

recientemente, tuve que buscar algo en un documento PDF que consta de 20,000 páginas pero en orden ordenado. cuando intenté buscarlo, me estaba tomando tanto tiempo. siendo impaciente, estaba cancelando la búsqueda …

entonces apliqué este método …

  1. fue a la página no. 10000
  2. mi rollo no. no estaba allí, pero todos los demás rol no. en esta página eran menores que las mías
  3. así que fui a la página no. 15000
  4. Todavía mi rollo no. no estaba allí., pero esta vez todos los demás rol no. Era mayor que el mío.
  5. así que fui a la página no. 12500

y el proceso continuó ..

y en 30 segundos encontré mi rollo no.

espera … espera … espera … esa fue una búsqueda binaria !!!

Conocía la búsqueda binaria, pero ese día la usé sin querer …

y sí, la complejidad temporal de la búsqueda binaria es log n.

ese día aprendí una cosa que era para buscar teléfonos MI que usa la búsqueda secuencial.

¡¡¡sigue sonriendo!!!

¡¡feliz aprendizaje!!

La búsqueda binaria se puede utilizar en negociaciones.
Si el vendedor tiene un precio en mente pero no lo revela, puede nombrar una oferta baja, a la cual el vendedor responderá con un precio de venta alto. Luego puede aumentar su oferta, y el vendedor puede reducir su precio de venta. Dado que cada uno de ustedes tiene un precio ideal en el medio, las ofertas y las solicitudes con nombre pueden estar aproximadamente a la mitad del precio deseable para cada lado. Este no es exactamente el algoritmo de búsqueda binaria, sino que está muy en el espíritu de la búsqueda binaria.

En uno de los exámenes finales, di un problema en el que tenías que encontrar la casa adecuada en una calle oscura. Las casas estaban numeradas en orden creciente, pero tenía que detener su automóvil cerca de una casa para verificar el número de la casa. Minimizar el número de paradas requiere una búsqueda binaria.

Otro problema práctico es calcular el cambio ( mochila ): tiene varias monedas y necesita seleccionar el número correcto de cada denominación para alcanzar la suma requerida. Por ejemplo, 17c = 10c + 5c + 1c + 1c. Se puede resolver mediante programación dinámica.

Búsqueda binaria
Cuando enseño algoritmos iniciales, dirijo a la clase a través de una exploración por orden de magnitud de cuánto tiempo tomaría insertar un nuevo cliente en la base de datos ordenada para una importante compañía nacional de telefonía celular. ¿Cuántos clientes tienen? Debe ser decenas de millones. Digamos 30 millones. Por lo tanto, requeriría alrededor de 15 millones de operaciones en promedio para encontrar dónde insertar un nuevo registro de cliente utilizando un método secuencial. Pero 30 millones = 2 ^ 25, por lo que una ordenación binaria requeriría solo 25 operaciones. Esto es asombroso y contradictorio … e importante y real.

Es sorprendente que nadie haya mencionado algoritmos codiciosos todavía. Son tan comunes y naturales en la vida cotidiana. Muy pocas personas pueden superar la tentación de elegir algo más que una recompensa máxima inmediata cuando se les da más de una opción. La estructura de datos también es la más primitiva, solo recuerda el estado actual y eso es todo.

Búsqueda binaria : si su Chrome falla y no sabe qué extensión causó el problema, puede abrir Chrome en modo seguro, deshabilitar la mitad superior de su extensión y reiniciar. Si aún se bloquea, habilítelos y desactive la otra mitad. Continúa hasta que encuentres al culpable.

Árbol : cada organización tiene un organigrama, que es un árbol n-ario. La raíz superior es el CEO. Cuando esa organización es adquirida por otra organización, es una fusión de árboles.

Creo que la estructura de datos son:

  1. lista enlazada.
  2. Gráfico. (Árbol de expansión mínimo, ruta más corta)
  3. árbol binario

y también los algoritmos son:
En caso de árbol de expansión mínimo:

  1. algoritmo de kurskal.
  2. algoritmo de prim.

En caso del camino más corto:
1. Algoritmo de Dijkstra.

2. Algoritmo ford de Bellman.

TAMBIÉN debe conocer algún algoritmo de clasificación Y búsqueda.

Unión de encontrar. Encuentra amigos comunes o parientes lejanos.
Filtración. Analice las tuberías de agua, los circuitos electrónicos y la ingesta de agua en la agricultura.
Trayectoria más corta. Para conducir
Vendedor ambulante (para esto).

  • Hashing: en lugar de recordar todos los números de teléfono en su lista de contactos, solo recuerde que los primeros / últimos 3 o 4 dígitos serían suficientes para distinguir diferentes números. Esto puede ser útil cuando recibe SMS notificando llamadas perdidas desde 123456789 y está seguro de que 123456789 existe en su lista de contactos.
  • Retroceso: si la búsqueda exhaustiva de algo parece ser inevitable, no pierda el rastro.

La vida es un problema NP difícil. Pero aún así, en algunas situaciones, puede usar algunos de estos.

D&C – Cuándo Multitud de trabajo por hacer.
Pgmming dinámico: en caso de trabajo repetitivo.
Algedy codicioso – día a día.

Hay muchos otros algoritmos, técnicas que puedes aplicar en la vida real. Agregará a su debido tiempo.

También se trata de algoritmos enmarcados a partir de instancias de la vida y no al revés. ¡Es creación humana después de todo! Y, cada algoritmo se crea a partir de la instancia de la situación humana.

Una vez que hice una clase de algoritmos y estábamos dando un cuestionario sobre la combinación de clasificación. ¿Adivina lo que solíamos ordenar los cuestionarios?

(Había 150 de ellos; un enfoque O (n ^ 2) llevaría bastante tiempo).

Usando la mediana para comparar cosas.
Las personas generalmente usan la media aritmética, pero la mediana es mejor en casi todas las situaciones prácticas.

Ver estadísticas robustas

Liza. Los uso mientras hago compras.

Muchísimo. Mi estructura de lavandería preferida.

Diccionarios Para palabras que no están en mi RAM.

Arboles Da fruto, da sombra y abraza cuando estás solo.

More Interesting

¿Por qué se han desarrollado los algoritmos de ordenamiento O (n ^ 2) (como el ordenamiento por inserción y el ordenamiento por burbuja) y para qué se utilizan?

1,000 participantes toman un examen que consta de 100 preguntas y 5 opciones por pregunta. ¿Cuál es el mejor enfoque (algoritmo) para encontrar todos los pares posibles de participantes con al menos un 80% de coincidencia en las opciones que eligieron?

¿Cómo funcionan los mecanismos del filtro de revisión de Yelp?

Si una computadora toma el control total del control del tráfico aéreo, ¿cómo será el algoritmo? ¿Cómo manejará los aterrizajes de emergencia y cómo manejará una pista paralela?

¿La programación lineal admite un algoritmo de tiempo fuertemente polinómico?

¿Existe un método o algoritmo matemático para expresar la suma de un número y un número multiplicado por un radical como la fórmula (a + b) ^ 3?

¿Qué métricas deberían usarse para crear una puntuación de confiabilidad automática para los artículos de Wikipedia?

¿Cuál es la diferencia entre la descomposición de raíz cuadrada y el algoritmo de MO?

¿Cuál es la complejidad temporal de la solución del problema del vendedor ambulante mediante la optimización de colonias de hormigas?

¿Cuáles son algunos algoritmos utilizados por las grandes empresas (como Amazon) para determinar de manera eficiente desde qué almacén se debe cumplir un pedido?

¿Qué ventajas tiene una ordenación por inserción sobre una ordenación por burbujas en la programación y por qué se ha propuesto?

Cómo entender cómo funcionan los algoritmos

Cómo guardar la entrada del usuario dentro de una matriz en Java

¿Qué criterios se utilizan para contar un buen algoritmo?

¿Cómo determinan los algoritmos de creación de mercado qué tan agresivamente deberían salir de las posiciones?