pattern matching - four way technique

Ads

 
 

Share on Google+Share on Google+

Praveen Bhushan
pattern matching - four way technique
0 Answer(s)      6 years and 9 months ago
Posted in : Java Beginners

Hi, here's my question.. I am trying to implement pattern matching using brute force algorithm where I am trying to apply four way technique to search a given pattern in a text.in this four way technique I will be splitting text which is of length "n" into two halves i.e.from 0 to n/2 and n/2 to n and i will search for a pattern in both the directions i.e. from left as well as from right on this divided parts..there is also a special case wherein i will be searching at the junction where splitting takes place..now what i want to do this is to run this program as four different and independent threads using multithreading concept in java. As you know processors such as core2quad has four processors so i want these threads to utilise the four processors completely...this is my code for brute force..plz help me out in solving this. i also need the amount of time taken by this program to execute.

import java.lang.*;
import java.io.*;
import java.util.*;
public class bruteforcefourway
{
 public static void main(String args[ ])
 {  

   String text1,pattern1;
   Scanner s=new Scanner(System.in);
   System.out.println("\n Enter the text");
   text1=s.nextLine();
   System.out.println("\n Enter the pattern");
    pattern1=s.nextLine();
  brute(text1,pattern1);
}

public static void brute(String text,String pattern)
{
int count=0,i,j;
int n=text.length(); // length of the text
int m=pattern.length(); //length of the pattern
 for(i= 0;i<=n/2;i++)
 {
      j=0;
       while((j<m)&&(pattern.charAt(j)==text.charAt(i + j)))
       { 
            j++;
         if (j==m)
          {
           count++;
           System.out.printf("\n %d Match found between  %d and %d",count,i-1,i+m);
          }
      }
   }
for(i= n/2+1;i<=n;i++)
{
 j=0;
       while((j<m)&&(pattern.charAt(j)==text.charAt(i + j)))
       { 
            j++;
         if (j==m)
          {
           count++;
           System.out.printf("\n %d Match found between  %d and %d",count,i-1,i+m);
          }
      }
}

for(i= n/2-m+1;i<=n/2+m-1;i++)// special case searching at the junction where splitting took place
{
    j=0;
       while((j<m)&&(pattern.charAt(j)==text.charAt(i + j)))
       { 
            j++;
         if (j==m)
          {
           count++;
           System.out.printf("\n %d Match found between  %d and %d",count,i-1,i+m);
          }
      }
}

System.out.printf("\n\n");
System.out.printf("\n Total Matches found are : %d",count);
}
}
Ads
View Answers
Ads









Related Tutorials/Questions & Answers:
Pattern Matching
Pattern Matching  hello, What operator performs pattern matching?   hii, The "LIKE" operator performs the pattern matching in SQL
Pattern matching
Pattern matching  String tagvalue = I've above string and I need to extract the value of 1- fname 2- lname 3- email. Please help me the best way... Pattern fnamepat = Pattern.compile("fname=\"([^<>]+)\" "); Matcher fmatch
Advertisements
Three Way Matching
Three Way Matching  hello, What is Three Way Matching?   hii, In Three way matching the following documents are compare:- Purchase order Receipt of Items/Packing slip Invoice
Matching Pattern using Regularexpression
Matching Pattern using Regularexpression       This Example describe the way to match a pattern with the text by using Regularexpression.The steps involved in matching a pattern
What is an efficient way to implement a singleton pattern in Java?
What is an efficient way to implement a singleton pattern in Java?  What is an efficient way to implement a singleton pattern in Java
searching technique
searching technique  Hi, i need any searching technique in java to search the data and give the all possible data by links
Pattern
Pattern  How to print this pattern in Java please help me A AC ACE ACEG ACEGI The program should be right to left
pattern
pattern  1 3 1 5 3 1 7 5 3 1 9 7 5 3   Here is a number pattern example. 1 3 1 5 3 1 7 5 3 1 9 7 5 3 1 class Pattern{ public static void main(String args[]){ for(int i=1;i<=9;i
Pattern
Pattern  1234321 123 321 12 21 1 1 please,give me this pattern in java   class Sixth_1 { public static void main(String args...; } } }   Here is a number pattern class Pattern{ public
Matching Zip code using regular expression
Matching Zip code using regular expression       This Example describes the way of matching Zip... Matching_Zipcode.java. The steps involved in program Matching_Zipcode.java
Greedy and Non-Greedy Matching in a Regular Expression
a string in the given string through the Greedy and Non-Greedy way of matching. Here you can learn about the Greedy and Non-Greedy way of matching the word.... Greedy Matching: This is the way of matching string from one to another
Pattern resetting using regular expression
Pattern resetting using regular expression       This Example describes the way to retrieve... Pattern_Resetting.java. The steps involved in program Pattern_Resetting.java
what technique - Java Beginners
what technique  what technique or algorithm i need to use to develop a system a scheduling time table in java
Design Pattern
Design Pattern       ?Pattern? word suggests a series of events occurring in a definite order. Many a times, you get an easy way to tackle a recurring problem (which has been
HEPTALYSIS technique in Business Analysis
HEPTALYSIS technique in Business Analysis  What is HEPTALYSIS technique in Business Analysis?   HEPTALYSIS is a Business analysis technique that is for starting up a new business during its initial phase of start up
Matching Case
Matching Case  Hi, i want some code for matching case from an text file. i.e if i give an query called Java from the user,i need to get an output searching the text file all the names in that without case sensitive
pattern printing
pattern printing  
Design pattern
Design pattern  explain factory pattern
Pattern Making
Pattern Making  how to print this pattern in java? * * * * * * * * * * * * * * * * * It is just an example
pattern program
pattern program  can some one plz help me to wright the logic for the following pattern abcdcba abc cba ab ba a a ab ba abc cba abcdcba
TOM Eclipse Plugin
TOM Eclipse Plugin       The way to use a Pattern Matching Programming Language into Eclipse The plugin offers automatic compilation Tom and Java errors
Java pattern
Java pattern  Write a Java program that outputs the following pattern. 1 21 321 4321 54321 654321
pattern matcher
pattern matcher  i want a number in a specific range in pattern matcher..for example a number should only be in the range of 6-9 digits... = tf.getText(); Pattern pattern = Pattern.compile("\\d{10}"); Matcher matcher
pattern program
pattern program  can any 1 print the following pattern in java .plz give the code.and yes thank u so much for answering my 2 other questions.had i... before.anyways the pattern goes like this abcdcba abc cba ab ba a a ab ba abc abc
image processing matching an 2 image
image processing matching an 2 image  source code for dense and sparse matching feature in lbp
pattern program
pattern program  13579 1357 135 13 1 pattern program in java   Here is your Example:- package Compare; public class PatternDemo { public static void main(String [] args){ int c=10; for(int i=0;i<
Code for Pattern
Code for Pattern   1 23 345 5678 891011 Please write the code of above program and please do not use in this string tokennizer, string buffer etc i mean to say that please use very simple method
pattern
be between 2 and 9. The following shows the four pattern in size 5. Pattern 1 5...: Menu Pattern one Pattern two Pattern three Pattern four Quit Enter...pattern  write a java program that can create four different patterns
How to change the cloth pattern, change the cloth pattern, cloth pattern
How to change the cloth pattern       We are going to change the cloth pattern by using a simple way... Pattern. Now change layer settings. You will get this picture.   Layer

Ads

 
Advertisement null

Ads