why can't the Naive algorithm have o(n) time complexity? This is my Java code which gave me the expected results.. Please explain what's wrong with this...
import java.util.*;
class NaiveAlgo{
public static void main (String args[]){
System.out.print("Enter the Text : ");
Scanner inp1=new Scanner(System.in);
String txt=inp1.nextLine();
int lengthT=txt.length();
System.out.print("Enter the Pattern : ");
Scanner inp2=new Scanner(System.in);
String ptn=inp2.nextLine();
int lengthP=ptn.length();
int i=0,j=0,index=0;
while(j!=lengthP&& i!=lengthT){
if(txt.charAt(i)==ptn.charAt(j)){
i++;
j++;
}else{
j=0;
index++;
i=index;
}
}
if(index<lengthT)
System.out.println("Index : "+index);
else
System.out.println("Not found ");
}
}