mirror of
https://hub.njuu.cf/TheAlgorithms/Python.git
synced 2023-10-11 13:06:12 +08:00
Added naive string search algorithm (#715)
This commit is contained in:
parent
2b27086c00
commit
e6e5f4b301
29
strings/naiveStringSearch.py
Normal file
29
strings/naiveStringSearch.py
Normal file
@ -0,0 +1,29 @@
|
||||
"""
|
||||
this algorithm tries to find the pattern from every position of
|
||||
the mainString if pattern is found from position i it add it to
|
||||
the answer and does the same for position i+1
|
||||
|
||||
Complexity : O(n*m)
|
||||
n=length of main string
|
||||
m=length of pattern string
|
||||
"""
|
||||
def naivePatternSearch(mainString,pattern):
|
||||
patLen=len(pattern)
|
||||
strLen=len(mainString)
|
||||
position=[]
|
||||
for i in range(strLen-patLen+1):
|
||||
match_found=True
|
||||
for j in range(patLen):
|
||||
if mainString[i+j]!=pattern[j]:
|
||||
match_found=False
|
||||
break
|
||||
if match_found:
|
||||
position.append(i)
|
||||
return position
|
||||
|
||||
mainString="ABAAABCDBBABCDDEBCABC"
|
||||
pattern="ABC"
|
||||
position=naivePatternSearch(mainString,pattern)
|
||||
print("Pattern found in position ")
|
||||
for x in position:
|
||||
print(x)
|
Loading…
Reference in New Issue
Block a user