Haciendo mi propio Netflix en C, ¿Conviene usar punteros en vez de intancias?

Iniciado por Naimaderis, 24 Julio 2018, 06:29 AM

0 Miembros y 1 Visitante están viendo este tema.

Naimaderis

Quiero hacer mi propio Netflix en C++/C#, sin usar sql, ya que todavia no lo he aprendido. (En unas semanas tengo pensado aprenderlo, pero por ahora solo memoria dinamica)
Pensé en este diagrama de clase. ¿Qué piensas?



En mi programa principal tengo una lista con todas las películas existentes.

Cada usuario tiene 2 listas, las películas que vio y las pelicula que guardo, y un vector de 5 peliculas recomendadas, que se generan en tiempo real (Cada vez que ve una pelicula)

Aca viene mi primera duda:

Ya que en mi archivo principal tengo una lista con las películas totales, es mucho gasto de memoria, colocar nuevamente en cada usuario "peliculas_vista" y "peliculas_no_vistas" por eso pense en hacer lo siguiente:
Una lista de punteros a peliculas "Peliculas_No_vistas", donde se tiene punteros a todas las peliculas existentes, cunado se ve una pelicula, el puntero pasa de estar en "Peliculas_No_vistas" a "Peliculas_Vistas", donde siempre voy manteniendo un registro de las que se vieron y no se vieron.

¿Que les parece? ¿O es insignificante el gasto de memoria adicional como para hacer esto?


La segunda pregunta:

Lo de tener Peliculas_No_vistas surge de que tengo que recomendar peliculas a a través de un algoritmo basado en los generos de películas que vio el usuario.

Entonces, dentro de las no vistas, quiero buscar en las de cierto genero, así que se me ocurrió lo siguiente:

Que Peliculas_No_Vistas sea un vector con los 10 géneros existentes, y en cada entrada del vector pongo la listas de peliculas con respecto al genero.(Solo para ordenarlas)

Donde, si quiero acceder a las de "terror" voy directo a esa categoría y no tengo que estar recorriendo las todas.

Y lo otro que pense es que las peliculas vistas sea un vector con dos listas, calificadas y no calificadas
Pero no se si es conveniente, ya que no se base de datos,  en un futuro cuando quiera hacerlo con base de datos, se me complique.
Gracias

hex0r

justo he entrado y justo se me ha ocurrido que podrías además hacer sería una pequeña encuesta al usuario sobre sus gustos personales en lo que a géneros de películas se refiere.

Lo que voy a escribir ahora es una ida de olla que me acaba de pasar entonces no se si es viable o si lo es, ya que mis conocimientos son pocos en este campo: podrías aplicar la función sigmoide para clasificar los gustos de la gente, como? pues así a voz de pronto y sin tener ni p idea lo que se me ocurre es que podrías hacer seria asignar valores a los géneros de películas, a los géneros de películas vistas por ese usuario, a las géneros de películas que ese usuario ha indicado que le gustan y un gran de datos sobre ese usuario, etc. Después de eso calcular una media ponderada entre todos esos valores (eso te rayas la cabeza tu si tienes coco para ello, si ves que no puedes solo tienes este foro y a gente con conocimientos de matemáticas muchísimos mas avanzados que los míos) y aplicar esa media a la función sigmoide para que te de un número en un rango de 0 a 1, ¿y que haces con ese numero de entre el 0 y el 1?! pues por ejemplo pongamos que dado el caso de que hagas esto el usuario tiene una puntuación de 0,632414243 en sus gustos de películas, pues bueno, ese numero estaría ("por ejemplo") entre el rango de números que comprenden desde 0,62 a 0,65 lo que significa que desde 0,62 a 0,65 se inclina mas por series o películas de acción (o varias ya sea por ejemplo acción/comedia) por lo tanto deberías de recomendar a tus usuarios tanto películas de acción tanto como de comedia o de comedia/acción.

Un saludo y cuéntanos como te va a lo largo de tu proyecto que está interesante!


hex0r

no viene mucho a cuento a tu pregunta pero eh, son ideas gratis! xd
;-) ;-) ;-) ;-) ;-) ;-)