Например, У меня есть 3 списка с различной информацией, и вот как они структурированы:
"dirID","movID"
"175","332"
"176","333"
"176","334"
"177","335"
...
"dirID","dirName"
"175","David Lynch"
"176","Steven Soderbergh"
"177","Abbas Kiarostami"
...
"movID", "title" ,"genre"
"332", ...
"333", ...
"334", ...
...
Так что теперь моя проблема - сделать комбинированный поиск, где вы можете искать как этот жанр с этим режиссером.
Мой первый подход состоял в том, чтобы поместить список movID со всей связанной информацией, такой как title и gerne, в хэш-карту. То же самое с dirID и значением dirName .
Используйте список dirID movID в качестве массива. Теперь, если вы ищете режиссера с этим жанром, сначала обе хеш-карты собирают свои варианты подгонки, и после этого я перехожу к хэш-таблице подгонки жанра, где можно найти только movID, и проверяю для каждого результата, можно ли найти этот movID в массиве. список. Если да, я просматриваю каждый результат на карте подходящих директоров и проверяю, можно ли найти dirID для текущего movID.
Но это кажется очень неэффективным ...
Таким образом, другой подход состоит в том, чтобы просто сохранить режиссера непосредственно в хэш-карте моего фильма в виде списка массивов (поскольку возможно, что несколько режиссеров подключены к одному фильму) и просмотреть каждый фильм и его массив режиссеров, чтобы найти подходящие фильмы. .
При каком подходе я должен идти или есть даже лучшее решение?