Advertisement
Guest User

Untitled

a guest
May 24th, 2018
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.53 KB | None | 0 0
  1. import java.util.*;
  2.  
  3. public class dsa_project{
  4. public static void main(String[] args) {
  5.  
  6. //testing
  7. //q1
  8. System.out.println("q1 \n");
  9. Random ran_num = new Random();
  10. //int number = ran_num.nextInt(64)+16;
  11. int number = ran_num.nextInt(10)+1;
  12. Graph g1=new Graph(number);
  13. String alphabet = "ab";
  14.  
  15. for(int a=0; a<number; a++){
  16. int end = ran_num.nextInt(number);
  17. char temp = alphabet.charAt(ran_num.nextInt(alphabet.length()));
  18. for(int b=0; b<=1; b++){
  19. if(b==0){
  20. g1.addEdge(a, end, temp);
  21. }else if(b==1){
  22. end = ran_num.nextInt(number);
  23. if(temp == 'a'){
  24. g1.addEdge(a, end, 'b');
  25. }else{
  26. g1.addEdge(a, end, 'a');
  27. }
  28.  
  29. }
  30. }
  31. }
  32. System.out.println(g1 + "\n");
  33.  
  34. }
  35. static class Graph{
  36.  
  37. List<Edge> G[];
  38. int startingnum = 0;
  39. Random rand = new Random();
  40.  
  41. //creates new Graph with linked lists
  42. public Graph(int n){
  43. G=new LinkedList[n];
  44.  
  45. for(int i=0;i<G.length;i++){
  46. G[i]=new LinkedList<Edge>();
  47. }
  48.  
  49. }
  50.  
  51. //Adds new Edge
  52. void addEdge(int u,int v,char w){
  53.  
  54. G[u].add(0,new Edge(v,w));
  55. }
  56.  
  57. //Prints Graph
  58. int[] stateTF = new int [75];
  59. @Override
  60. public String toString(){
  61. startingnum = rand.nextInt(G.length);
  62. String result="";
  63. for(int i=0;i<G.length;i++){
  64.  
  65. boolean accept_reject = rand.nextBoolean();
  66.  
  67. if(i == startingnum){
  68. result+="Start State: "+i+" "+accept_reject+" =>"+G[i]+"\n";
  69.  
  70. }
  71. else{
  72. result+=i+" "+accept_reject+" =>"+G[i]+"\n";
  73.  
  74. }
  75.  
  76. if(accept_reject == true){
  77. stateTF[i] = 1;
  78. }else if(accept_reject == false){
  79. stateTF[i] = 2;
  80. }
  81.  
  82. }
  83.  
  84. return result;
  85. }
  86. }
  87.  
  88. static class Edge{
  89. int v;
  90. char w;
  91.  
  92. public Edge(int v,char w){
  93. this.v=v; this.w=w;
  94. }
  95.  
  96. @Override
  97. public String toString(){
  98. return "("+v+","+w+")";
  99. }
  100. }
  101. void BSF(){
  102.  
  103. }
  104. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement