Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- public class dsa_project{
- public static void main(String[] args) {
- //testing
- //q1
- System.out.println("q1 \n");
- Random ran_num = new Random();
- //int number = ran_num.nextInt(64)+16;
- int number = ran_num.nextInt(10)+1;
- Graph g1=new Graph(number);
- String alphabet = "ab";
- for(int a=0; a<number; a++){
- int end = ran_num.nextInt(number);
- char temp = alphabet.charAt(ran_num.nextInt(alphabet.length()));
- for(int b=0; b<=1; b++){
- if(b==0){
- g1.addEdge(a, end, temp);
- }else if(b==1){
- end = ran_num.nextInt(number);
- if(temp == 'a'){
- g1.addEdge(a, end, 'b');
- }else{
- g1.addEdge(a, end, 'a');
- }
- }
- }
- }
- System.out.println(g1 + "\n");
- }
- static class Graph{
- List<Edge> G[];
- int startingnum = 0;
- Random rand = new Random();
- //creates new Graph with linked lists
- public Graph(int n){
- G=new LinkedList[n];
- for(int i=0;i<G.length;i++){
- G[i]=new LinkedList<Edge>();
- }
- }
- //Adds new Edge
- void addEdge(int u,int v,char w){
- G[u].add(0,new Edge(v,w));
- }
- //Prints Graph
- int[] stateTF = new int [75];
- @Override
- public String toString(){
- startingnum = rand.nextInt(G.length);
- String result="";
- for(int i=0;i<G.length;i++){
- boolean accept_reject = rand.nextBoolean();
- if(i == startingnum){
- result+="Start State: "+i+" "+accept_reject+" =>"+G[i]+"\n";
- }
- else{
- result+=i+" "+accept_reject+" =>"+G[i]+"\n";
- }
- if(accept_reject == true){
- stateTF[i] = 1;
- }else if(accept_reject == false){
- stateTF[i] = 2;
- }
- }
- return result;
- }
- }
- static class Edge{
- int v;
- char w;
- public Edge(int v,char w){
- this.v=v; this.w=w;
- }
- @Override
- public String toString(){
- return "("+v+","+w+")";
- }
- }
- void BSF(){
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement