¿Qué escenario aplica algoritmo y estructura de datos?

Déjame tomar una situación de la vida real.

Digamos que te encuentras con alguien después de mucho tiempo pero no lo reconoces de inmediato. Ese ‘ alguien ‘ te reta a encontrarlo. ¿Qué vas a hacer con el desafío?

No te preocupes Tu cerebro se encarga de eso.

Puede ser, comienzas a recordar todas las caras y hacer una coincidencia de caras. Si este ‘alguien’ está disponible en su memoria caché (personas que conoció en los últimos tiempos) la tarea se vuelve bastante fácil, pero ese no es el caso aquí.

Por lo tanto, puede optar por comenzar con todas las caras de su organización actual, luego la organización anterior, etc. No tuve suerte. Luego te mudas a tus compañeros de clase PG, compañeros de la universidad, profesores, técnicos de laboratorio. Si la coincidencia de patrones todavía falla, es probable que te mudes a tu UG, escuela. En el proceso de hacerlo, eventualmente lo encontrarías.

Te preguntarás, ¿qué papel tienen aquí las estructuras de datos / algos? Lo que has hecho hasta ahora es en realidad un HASH MAP .
Tenías una función hash para clasificar a las personas ( VALORES ) según los lugares ( CLAVES ) que conociste. Todas esas personas que pertenecen a un lugar en particular se colocan en una LISTA DE ENLACES y las escanea una por una.

Hagamos las cosas aún más interesantes. Digamos que la persona que está buscando tiene más de treinta años. En tal caso, ¿por qué desea escanear los rostros de aquellas personas que no pertenecen a ese grupo de edad? Entonces, construyamos un ÁRBOL DE BÚSQUEDA BINARIO (BST) usando los valores que obtuviste, en lugar de la lista de enlaces. Sé que se vuelve un poco complicado en la implementación en tiempo real, pero recuerda que ahora estamos trabajando con tu cerebro, donde no tienes limitaciones a menos que lo limites 😉

Puede mejorar aún más la eficiencia creando una tabla hash con otra tabla hash. Por ej. en una universidad puede tener una función hash que clasifica a las personas por designación, departamento, año al que pertenecen, etc. Con cada tabla hash que construyes, los resultados se obtienen más rápido.

Así es como se hace la programación. Recuerda leer esto en alguna parte,
“Haz que la computadora piense como tú y no piensas como la computadora”

ESPERO TENER SUERTE AL RECONOCER AL EXTRAÑO QUE CONOCÍAS 🙂