Даны n
строки S1, S2, ..., Sn
и набор алфавитов A={a_1,a_2,....,a_m}
. Предположим, что все алфавиты в каждой строке различны. Теперь я хочу создать инвертированный индекс для каждого a_i (i=1,2...,m)
. В моем инвертированном индексе тоже есть кое-что особенное: алфавиты в A
расположены в некотором последовательном порядке, если в инвертированный индекс a_i включена одна строка (скажем, S_2
), то a_j (j=i+1,i+2,...,m)
больше не нужно включать S_2
. Короче говоря, каждая строка появляется в инвертированном списке только один раз. Мой вопрос в том, как создать такой список быстро и эффективно? В любое время сложность ограничена?
Например, A={a,b,e,g}, S1={abg}, S2={bg}, S3={gae}, S4={g}
. Тогда мой инвертированный список должен быть:
a: S1,S3
b: S2 (since S1 has appeared previously, so we don't need to include it here)
e:
g: S4
S3={gae}
- person John Smith   schedule 06.09.2012