For multiple readers
Fonbet Кубок России|1/4 финала. Этап 2 (Путь регионов)
,推荐阅读体育直播获取更多信息
So far so good. We know the general idea, but an important question
На МКАД загорелись две машины14:46
NFAs are cheaper to construct, but have a O(n*m) matching time, where n is the size of the input and m is the size of the state graph. NFAs are often seen as the reasonable middle ground, but i disagree and will argue that NFAs are worse than the other two. they are theoretically “linear”, but in practice they do not perform as well as DFAs (in the average case they are also much slower than backtracking). they spend the complexity in the wrong place - why would i want matching to be slow?! that’s where most of the time is spent. the problem is that m can be arbitrarily large, and putting a large constant of let’s say 1000 on top of n will make matching 1000x slower. just not acceptable for real workloads, the benchmarks speak for themselves here.