What is a time complexity for checking a string of length n is substring or not?

(a) O (log n!)

(b) O (n!)

(c) O (n^2)

(d) O (n)

My question is taken from Suffix Tree in chapter Trie of Data Structures & Algorithms I

I have been asked this question by my college professor while I was bunking the class.

1 Answers

Correct option is (d) O (n)

Explanation: Suffix tree is also known as PAT tree or position tree. It allows fast string operation. Total time taken for construction of suffix tree is linear to the length of the tree. To check if a substring is present in a string of a length of n, the time complexity for such operation is found to be O (n).