C# Program for Naive algorithm for Pattern Searching Last Updated : 23 Jul, 2025 Comments Improve Suggest changes Like Article Like Report Write a C# program for a given text string with length n and a pattern with length m, the task is to print all occurrences of the pattern in text.Note: You may assume that n > m. Examples: Input: text = “THIS IS A TEST TEXT”, pattern = “TEST”Output: Pattern found at index 10 Input: text = “AABAACAADAABAABA”, pattern = “AABA”Output: Pattern found at index 0, Pattern found at index 9, Pattern found at index 12 Recommended: Please solve it on “PRACTICE ” first, before moving on to the solution. C# Program for Naive Pattern Searching Algorithm: Slide the pattern over text one by one and check for a match. If a match is found, then slide by 1 again to check for subsequent matches. C# // C# program for Naive Pattern Searching using System; class GFG { public static void search(String txt, String pat) { int M = pat.Length; int N = txt.Length; /* A loop to slide pat one by one */ for (int i = 0; i <= N - M; i++) { int j; /* For current index i, check for pattern match */ for (j = 0; j < M; j++) if (txt[i + j] != pat[j]) break; // if pat[0...M-1] = txt[i, i+1, ...i+M-1] if (j == M) Console.WriteLine("Pattern found at index " + i); } } // Driver's code public static void Main() { String txt = "AABAACAADAABAAABAA"; String pat = "AABA"; // Function call search(txt, pat); } } // This code is Contributed by Sam007 OutputPattern found at index 0 Pattern found at index 9 Pattern found at index 13 Time Complexity: O(N2)Auxiliary Space: O(1) Complexity Analysis of Naive algorithm for Pattern Searching:Best Case: O(n)When the pattern is found at the very beginning of the text (or very early on).The algorithm will perform a constant number of comparisons, typically on the order of O(n) comparisons, where n is the length of the pattern.Worst Case: O(n2)When the pattern doesn’t appear in the text at all or appears only at the very end.The algorithm will perform O((n-m+1)*m) comparisons, where n is the length of the text and m is the length of the pattern.In the worst case, for each position in the text, the algorithm may need to compare the entire pattern against the text.Naive algorithm for Pattern SearchingPlease refer complete article on Naive algorithm for Pattern Searching for more details! Create Quiz Comment K kartik Follow 0 Improve K kartik Follow 0 Improve Article Tags : C# Explore IntroductionC# Tutorial 2 min read Introduction to .NET Framework 6 min read C# .NET Framework (Basic Architecture and Component Stack) 6 min read C# Hello World 2 min read Common Language Runtime (CLR) in C# 4 min read FundamentalsC# Identifiers 2 min read Data Types in C# 6 min read C# Variables 4 min read C# Literals 5 min read Operators in C# 7 min read C# Keywords 5 min read Control StatementsC# Decision Making (if, if-else, if-else-if ladder, nested if, switch, nested switch) 5 min read C# Switch Statement 4 min read Loops in C# 4 min read C# Jump Statements (Break, Continue, Goto, Return and Throw) 4 min read OOP ConceptsClass and Objects in C# 4 min read Constructors in C# 5 min read C# Inheritance 3 min read Encapsulation in C# 2 min read C# Abstraction 4 min read MethodsMethods in C# 4 min read Method Overloading in C# 4 min read Method Parameters in C# 4 min read Method Overriding in C# 7 min read Anonymous Method in C# 2 min read ArraysArrays in C# 6 min read Jagged Arrays in C# 4 min read Array Class in C# 5 min read How to Sort an Array in C# | Array.Sort() Method Set - 1 8 min read How to find the rank of an array in C# 2 min read ArrayListArrayList in C# 6 min read ArrayList Class in C# 4 min read C# | Array vs ArrayList 2 min read StringStrings in C# 6 min read C# Verbatim String Literal - @ 5 min read C# String Class 9 min read C# StringBuilder 2 min read C# String vs StringBuilder 3 min read TupleC# Tuple 7 min read C# Tuple Class 3 min read C# ValueTuple 7 min read C# ValueTuple Struct 4 min read IndexersC# Indexers 5 min read C# Multidimensional Indexers 5 min read C# - Overloading of Indexers 3 min read Like