Recently, there has been a growing interest in dynamic strings algorithms. Many classical stringology problems have been lately investigated in dynamic settings. Perhaps the most natural problem of stringology is the one of constructing an index for a given string. That is, preprocessing a string \(S\)  in order to obtain a data structure that given an input word \(p\) , outputs the set \(occ\)  of indexes in \(S\)  in which the word \(p\)  occurs. In the dynamic settings, we wish to maintain an index for a string that undergoes edit operations (substitution, deletion, or insertion of a single symbol in any location in the text). The current state of the art for dynamic indexing is the data structure of  [1]} that requires \(O(\log ^2(n))\)  time per update and supports \(O(p+ \log ^2(n) + |occ|)\)  time queries.
