70 likes | 199 Views
Algorithm Time Analysis Examples. Salim Malakouti. Linear Search. public int count( int [] array, int item) { for ( int i = 0; i < array.length ; i ++) { if ( array [i] == item ) return true ; } return count ; }. Remove from the list?.
E N D
Algorithm Time Analysis Examples Salim Malakouti
Linear Search • public int count(int[] array, int item) { • for (inti = 0; i < array.length; i++) { • if (array[i] == item) • returntrue; • } • returncount; • }
Remove from the list? • public void remove(ArrayList<Integer> list,Integer item){ • for (int i = 0; i < list.size(); i++) { • if(list.get(i).equals(item)){ • list.remove(i); • } • } • }
Removing from a list What is a better solution? What is its time complexity?
Finding A substring • String source = “I hope you are not tired. home” • String pattern = “home” • Exists? • What is the algorithm?
Finding sub pattern • public booleanfindSubString(String source, String pattern){ • if(pattern==null||source==null) • return false; • if(pattern.length()==0||source.length()==0) • return false; • for (inti = 0; i < source.length(); i++) { • if(source.charAt(i)==pattern.charAt(i)){ • boolean t=true; • for (int j = i; j < pattern.length(); j++) { • if(source.charAt(j)!=pattern.charAt(j-i)){ • t=false; • break; • } • } • if(t) • return true; • } • } • return false; • }