the really amazing thing about this algorithm is stated in the third to last paragraph where he explains that strict bounds can be put on the size of the two lists that are used to manage the runtime state. this turns the algorithm from a potentially exponential runtime to O(MN) where M is the size of the regex and N is the length of the string being matched
the really amazing thing about this algorithm is stated in the third to last paragraph where he explains that strict bounds can be put on the size of the two lists that are used to manage the runtime state. this turns the algorithm from a potentially exponential runtime to O(MN) where M is the size of the regex and N is the length of the string being matched