给定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