அல்கோரிதம்naive pattern matching
Naive Pattern Matching (Brute-Force Substring Search) — நேரடி பொருத்தம்
TT
Testlaa Team
May 14, 2026•1 min read
நேரடி பொருத்தம் — ஒவ்வொரு தொடக்கத்திலும் எழுத்து எழுத்து ஒப்பீடு; O(n*m); KMPக்கு முன் அடிப்படை.
உண்மை உலகில் இது ஏன் முக்கியம்?
சிறிய கோப்பு — n,m சிறியது; நேரடி தெளிவு. கற்பித்தல் — முதலில் brute.
மையக் கருத்து (மாணவர்களுக்கான விளக்கம்)
மூன்று அடுக்கு: ஒவ்வொரு i; j ஒப்பீடு; j==m என பொருத்தம்.
Pythonில் முயற்சி செய்வோம்
def find_all(text: str, pat: str) -> list[int]:
n, m = len(text), len(pat)
if m == 0 or m > n:
return []
out = []
for i in range(n - m + 1):
if text[i : i + m] == pat:
out.append(i)
return out
print(find_all("abababa", "aba"))
அடிக்கடி நேரும் தவறுகள்
- மேல் எல்லை ஒற்றைப் பிழை.
- முதல் பொருத்தம் எதிர் அனைத்தும்.
முக்கியச் சுருக்கக் குறிப்புகள்
- வேக முன் naive சரிபார்ப்பு.
- முதல் mismatch —
break.
Tags:
StringsPythonமாணவர்கள்
