使用正则表达式进行标记的算法复杂度是多少?

时间:2018-10-21 21:19:59

标签: python runtime time-complexity token big-o

Fortran

是否将此代码视为O(n)?

根据我从NLTK文档中读取的内容,“ i*Row + j使用正则表达式将字符串拆分为子字符串”。我假设使用正则表达式对字符串进行运算将为O(1),然后使用tokenizer将字符串拆分为子字符串.tokenize(s)将为O(n),其中n是字符串中的字符数输入。谢谢您的澄清。

1 个答案:

答案 0 :(得分:1)

我认为这段代码应该是O(n)或n的Big-O。

代码中决定其运行时间的最大因素是正则表达式要搜索的字符串的大小。其他行将被视为常量或O(1)

假设正则表达式要搜索的文本长一百倍,那么在确定时间复杂度时,该文本将成为压倒一切的因素。