私は、部分キーハッシュのアルゴリズムを書くように求められたインタビューに出演しました。ABCBC がハッシュに挿入されている場合、サブ文字列を検索すると、保存されている値が返されます。私の答えは、特定のキーのすべての可能な部分文字列のコレクションを作成し、各部分文字列とその 1 つ以上の親文字列との間のマッピングを維持することでした。次に、すべての部分文字列のコレクションの BST を維持します。各ノードは、その部分文字列が一致する可能性のある実際の値のコレクションを指します。たとえば。A、AB、ABC、ABCB、ABCBC、B、BC、BCB、BCBC、C、CB、CBC は、この文字列の可能な部分文字列です。BAB のような他の文字列もあるかもしれませんが、AB と B はその部分文字列です。したがって、AB を指定すると、BAB と ABCBC の 2 つの文字列にマップされます。
他のより効率的な方法はありますか?ありがとう