Advertisement
Guest User

Untitled

a guest
May 22nd, 2019
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ---------------------------------------------------------------------------------------------------------------------------
  2. Program 1 A
  3. ---------------------------------------------------------------------------------------------------------------------------
  4.  
  5. package Students;
  6. import java.util.*;
  7. public class Student
  8. {
  9. String usn;
  10. String name;
  11. String branch;
  12. long phone;
  13. void getDetails()
  14. {
  15. Scanner in=new Scanner(System.in);
  16. System.out.println("Enter the Student USN");
  17. usn=in.nextLine();
  18. System.out.println("Enter the Student Name");
  19. name=in.nextLine();
  20. System.out.println("Enter the Student Branch");
  21. branch=in.nextLine();
  22. System.out.println("Enter the Student phone");
  23. phone=in.nextLong();
  24. }
  25. void putDetails()
  26. {
  27. System.out.println("\n\t USN:"+ usn + "\n \t Name:"+ name +"\n \t Branch:"+ branch + "\n \t Phone:"+phone );
  28. System.out.println("\n");
  29. }
  30. public static void main(String args[])
  31. {
  32. int i,n;
  33. System.out.println("Enter the number of students");
  34. Scanner in=new Scanner (System.in);
  35. n=in.nextInt();
  36. Student a[]=new Student[n];
  37. for(i=0;i<n;i++)
  38. a[i]=new Student(); //allocate memory for N objects
  39. for(i=0;i<n;i++)
  40. {
  41. System.out.println("\nEnter details of Student" +(i+1));
  42. a[i].getDetails();
  43. }
  44. for(i=0;i<n;i++)
  45. {
  46. System.out.println("\nThe details of Student" +(i+1));
  47. a[i].putDetails();
  48. }
  49. }
  50. }
  51.  
  52. ----------------------------------------------------------------------------------------------------------------------------
  53. Program 1 B
  54. ----------------------------------------------------------------------------------------------------------------------------
  55.  
  56. package Students;
  57. import java.util.*;
  58. class StackMethods
  59. {
  60. int top;
  61. int size;
  62. int[] stack ;
  63. public StackMethods(int arraySize)
  64. {
  65. size=arraySize;
  66. stack= new int[size];
  67. top=-1;
  68. }
  69. public void push(int value)
  70. {
  71. if(top==size-1)
  72. {
  73. System.out.println("Stack is full, can't push a value");
  74. }
  75. else
  76. {
  77. top=top+1;
  78. stack[top]=value;
  79. }
  80. }
  81. public int pop()
  82. {
  83. int t=0;
  84. if(top==-1)
  85. {
  86. System.out.println("Can't pop...stack is empty");
  87. return -1;
  88. }
  89. else
  90. {
  91. t=top--;
  92. return stack[t];
  93. }
  94. }
  95. public void display()
  96. {
  97. for(int i=top;i>=0;i--)
  98. {
  99. System.out.print(stack[i]+" ");
  100. }
  101. System.out.println("\n");
  102. }
  103. }
  104. public class Stack1
  105. {
  106. public static void main(String[] args)
  107. {
  108. Scanner in = new Scanner(System.in);
  109. System.out.println("Stack operations\n");
  110. System.out.println("Enter Size of Stack ");
  111. int n = in.nextInt();
  112. int choice ;
  113. /* Creating object of class arrayStack */
  114. StackMethods stk = new StackMethods(n);
  115. /* Perform Stack Operations */
  116. do{
  117. System.out.println("\nStack Operations");
  118. System.out.println("1. push");
  119. System.out.println("2. pop");
  120. System.out.println("3. display");
  121. System.out.println("Enter the choice");
  122. int ch = in.nextInt();
  123. switch (ch)
  124. {
  125. case 1 : System.out.println("Enter element to push");
  126. stk.push( in.nextInt() );
  127. break;
  128. case 2 :int s=stk.pop();
  129. if (s!=-1)
  130. System.out.println("Popped Element = " + s);
  131. break;
  132. case 3 :stk.display();
  133. break;
  134. }
  135. System.out.println("Do you want to continue press 0/1");
  136. choice=in.nextInt();
  137. }
  138. while(choice==1);
  139. }
  140. }
  141.  
  142. ----------------------------------------------------------------------------------------------------------------------------
  143. Program 2 A
  144. ----------------------------------------------------------------------------------------------------------------------------
  145.  
  146. package Students;
  147. import java.util.Scanner;
  148. class Staff
  149. {
  150. int staffID;
  151. String sname;
  152. long phone;
  153. float salary;
  154. void getSdetails()
  155. {
  156. Scanner in=new Scanner(System.in);
  157. System.out.println("Enter the Staff ID");
  158. staffID=in.nextInt();
  159. System.out.println("Enter the Staff Name");
  160. sname=in.next();
  161. System.out.println("Enter the Staff Phone no");
  162. phone=in.nextLong();
  163. System.out.println("Enter the Staff Salary");
  164. salary=in.nextFloat();
  165. }
  166. void putSdetails()
  167. {
  168. System.out.println("staff ID=" +staffID);
  169. System.out.println("staff Name=" +sname);
  170. System.out.println("staff phone no=" +phone);
  171. System.out.println("staff Salary=" +salary);
  172. System.out.println("\n");
  173. }
  174. }
  175. class Teaching extends Staff
  176. {
  177. String domain;
  178. String publication;
  179.  
  180. void getTdetails()
  181. {
  182. Scanner in=new Scanner(System.in);
  183. System.out.println("Enter the Domain");
  184. domain=in.nextLine();
  185. System.out.println("Enter the Publication");
  186. publication=in.nextLine();
  187. }
  188. void putTdetails()
  189. {
  190. System.out.println("Domain ="+domain);
  191. System.out.println("Publication ="+publication);
  192. System.out.println("\n");
  193. }
  194. }
  195. class Technical extends Staff
  196. {
  197. String skills;
  198. void getT1details()
  199. {
  200. Scanner in=new Scanner(System.in);
  201. System.out.println("Enter the Skills");
  202. skills=in.nextLine();
  203. }
  204. void putT1details()
  205. {
  206. System.out.println("Skills ="+skills);
  207. System.out.println("\n");
  208. }
  209. }
  210. class Contract extends Staff
  211. {
  212. String period;
  213. void getCdetails()
  214. {
  215. Scanner in=new Scanner(System.in);
  216. System.out.println("Enter the Period");
  217. period=in.nextLine();
  218. }
  219. void putCdetails()
  220. {
  221. System.out.println("period ="+period);
  222. System.out.println("\n");
  223. }
  224. }
  225. class Inheritance
  226. {
  227. public static void main(String args[])
  228. {
  229. int i,n;
  230. System.out.println("Enter the number of staff");
  231. Scanner in=new Scanner(System.in);
  232. n=in.nextInt();
  233. Staff sf[]=new Staff[n];
  234. Teaching t[]=new Teaching[n];
  235. Technical t1[]=new Technical[n];
  236. Contract c[]=new Contract[n];
  237. for(i=0;i<n;i++)
  238. {
  239. sf[i]=new Staff(); //allocate memory for staff object
  240. t[i]=new Teaching();//allocate memory for Teaching object
  241. t1[i]=new Technical();//allocate memory for Technical object
  242. c[i]=new Contract();//allocate memory for Contract object
  243. }
  244. for(i=0;i<n;i++) //Read the details of Staff & its subclasses
  245. {
  246. System.out.println("Enter the details of staff"+(i+1));
  247. sf[i].getSdetails();
  248. t[i].getTdetails();
  249. t1[i].getT1details();
  250. c[i].getCdetails();
  251. }
  252. System.out.println("...............");
  253. for(i=0;i<n;i++) //Display the details of Staff & its subclasses
  254. {
  255. System.out.println("The Details of staff"+(i+1));
  256. sf[i].putSdetails();
  257. t[i].putTdetails();
  258. t1[i].putT1details();
  259. c[i].putCdetails();
  260. System.out.println("...............");
  261. }
  262. }
  263. }
  264.  
  265. ----------------------------------------------------------------------------------------------------------------------------
  266. Program 2 B
  267. ----------------------------------------------------------------------------------------------------------------------------
  268.  
  269. package staff;
  270. import java.util.Scanner;
  271. import java.util.StringTokenizer;
  272.  
  273. public class Customer
  274. {
  275. public String readCustomer()
  276. {
  277. Scanner scanner = new Scanner(System.in);
  278. System.out.println("Enter name and DOB in <name,dd/mm/yyyy> format");
  279. String str = scanner.next();
  280. if(!str.startsWith("<") ||!str.endsWith(">"))
  281. {
  282. System.out.println("Please enter it in proper format");
  283. System.exit(0);
  284. }
  285. return str;
  286. }
  287. public void displayCustomer(String data)
  288. {
  289. String st = data.substring(0, data.length());
  290. StringTokenizer token = new StringTokenizer(st, "<,/>");
  291. String finalString =null;
  292. while(token.hasMoreTokens())
  293. {
  294. if(finalString == null)
  295. {
  296. finalString = token.nextToken();
  297. }
  298. else
  299. {
  300. finalString =finalString+","+token.nextToken();
  301. }
  302. }
  303. System.out.println("The Resultant String is:" +"<" +finalString+">");
  304. }
  305. public static void main(String args[])
  306. {
  307. Customerc = new Customer();
  308. String data=c.readCustomer();
  309. c.displayCustomer(data);
  310. }
  311. }
  312.  
  313. ----------------------------------------------------------------------------------------------------------------------------
  314. Program 3 A
  315. ----------------------------------------------------------------------------------------------------------------------------
  316.  
  317. package Exception;
  318. import java.util.Random;
  319. import java.util.Scanner;
  320.  
  321. public class Test
  322. {
  323. public static void main(String[] args)
  324. {
  325. int a,b,d;
  326. Scanner in=new Scanner(System.in);
  327. System.out.println("Enter the value of a");
  328. a=in.nextInt();
  329. System.out.println("Enter the value of b");
  330. b=in.nextInt();
  331. try
  332. {
  333. d=a/b;
  334. System.out.println("\nThe Result of "+a+"/"+b+ " is:"+d);
  335. }
  336. catch(ArithmeticException ae)
  337. {
  338. System.out.println("division by zero");
  339. }
  340. }
  341. }
  342.  
  343. ----------------------------------------------------------------------------------------------------------------------------
  344. Program 3 B
  345. ----------------------------------------------------------------------------------------------------------------------------
  346.  
  347. package Exception;
  348. import java.util.Random;
  349. import java.util.Scanner;
  350.  
  351. public class Mythread
  352. {
  353. public static void main(String[] args) throws InterruptedException
  354. {
  355. Runnable r1 = new Runnable1();
  356. Thread t1 = new Thread(r1);
  357. t1.start();
  358. Thread.sleep(5000);
  359.  
  360. Runnable r2 = new Runnable2();
  361. Thread t2 = new Thread(r2);
  362. t2.start();
  363. Thread.sleep(5000);
  364.  
  365. Runnable r3=new Runnable3();
  366. Thread t3 = new Thread(r3);
  367. t3.start();
  368. }
  369. }
  370. class Runnable1 implements Runnable
  371. {
  372. public void run()
  373. {
  374. Scanner in=new Scanner(System.in);
  375. System.out.println("Enter number to find square");
  376. int a=in.nextInt();
  377. int b=a*a;
  378. System.out.println("The square of number is:"+b);
  379. }
  380. }
  381. class Runnable2 implements Runnable
  382. {
  383. public void run()
  384. {
  385. Scanner in=new Scanner(System.in);
  386. System.out.println("Enter number to find cube");
  387. int c=in.nextInt();
  388. int d=c*c*c;
  389. System.out.println("The cube of number is:"+d);
  390. }
  391. }
  392. class Runnable3 implements Runnable
  393. {
  394. int n,i;
  395. public void run()
  396. {
  397. Scanner in=new Scanner(System.in);
  398. Random rand=new Random();
  399. n=rand.nextInt(50);
  400. System.out.println("\nEnter the number of elements");
  401. n=in.nextInt();
  402. int arr[]=new int[n];
  403. for(i=0;i<n;i++)
  404. arr[i]=rand.nextInt(50);
  405. System.out.println("\nthe random elements are ");
  406. for(i=0;i<n;i++)
  407. System.out.println(arr[i]+" ");
  408. }
  409. }
  410.  
  411. ----------------------------------------------------------------------------------------------------------------------------
  412. Program 4
  413. ----------------------------------------------------------------------------------------------------------------------------
  414.  
  415. package sort;
  416. import java.util.Random;
  417. import java.util.Scanner;
  418.  
  419. public class QuickSort
  420. {
  421. static int max=50000;
  422. public static int partition(int a[],int low,int high)
  423. {
  424. int i,j,temp,key;
  425. key=a[low];
  426. i=low;
  427. j=high+1;
  428. while(i<=j)
  429. {
  430. do
  431. i++;
  432. while (key>=a[i]&& i<=high);
  433. do
  434. j--;
  435. while(key<a[j]);
  436. if(i<j)
  437. {
  438. temp=a[i];
  439. a[i]=a[j];
  440. a[j]=temp;
  441. }
  442. }
  443. temp=a[low];
  444. a[low]=a[j];
  445. a[j]=temp;
  446. return j;
  447. }
  448. public static void qs (int a[],int low, int high)
  449. {
  450. int mid;
  451. if(low<high)
  452. {
  453. mid=partition(a,low,high);
  454. qs(a,low,mid-1);
  455. qs(a,mid+1,high);
  456. }
  457. }
  458. public static void main(String args[])
  459. {
  460. int n,i;
  461. Scanner in=new Scanner(System.in);
  462. Random rand=new Random();
  463. System.out.println("Quicksort Test");
  464. /* Accept no.of Elements */
  465. System.out.println("\nEnter the number of elements");
  466. n=in.nextInt();
  467. /* create array of n elements */
  468. int arr[]=new int[max];
  469. try{
  470. /* Generate Random Numbers */
  471. for(i=0;i<n;i++)
  472. arr[i]=rand.nextInt(100);
  473. /* Print random numbers */
  474. System.out.println("\nthe random elements are ");
  475. for(i=0;i<n;i++)
  476. System.out.println(arr[i]+" ");
  477. long start_time=System.nanoTime();
  478. /*call method Quick Sort*/
  479. qs(arr,0,n-1);
  480. long end_time=System.nanoTime();
  481. /* Print Sorted Array */
  482. System.out.println("\nThe Elements After sorting");
  483. for(i=0;i<n;i++)
  484. System.out.println(arr[i]+" ");
  485. long t=end_time - start_time;
  486. System.out.println(“Time taken for execution is:”+t+” nanoseconds);
  487. }
  488. catch(ArrayIndexOutOfBoundsException ae)
  489. {
  490. System.out.println("Array Index reached maximum ");
  491. }
  492. }
  493. }
  494.  
  495.  
  496. ----------------------------------------------------------------------------------------------------------------------------
  497. Program 5
  498. ----------------------------------------------------------------------------------------------------------------------------
  499.  
  500. package sort1;
  501. import java.util.Random;
  502. import java.util.Scanner;
  503.  
  504. public class MergeSort
  505. {
  506. static int max=50000;
  507. public static void mergesort(int a[],int low,int high)
  508. {
  509. int mid;
  510. if(high>low)
  511. {
  512. mid=(low+high)/2;
  513. mergesort(a,low,mid);
  514. mergesort(a,mid+1,high);
  515. merge(a,low,mid,high);
  516. }
  517. }
  518. public static void merge(int a[],int low,int mid,int high)
  519. {
  520. int k=low,j=mid+1,i=low;
  521. int c[]=new int[1000];
  522. while((i<=mid)&&(j<=high))
  523. {
  524. if(a[i]<=a[j])
  525. {
  526. c[k]=a[i];
  527. i=i+1;
  528. }
  529. else
  530. {
  531. c[k]=a[j];
  532. j=j+1;
  533. }
  534. k=k+1;
  535. }
  536. while(i<=mid)
  537. {
  538. c[k]=a[i];
  539. k=k+1;
  540. i=i+1;
  541. }
  542. while(j<=high)
  543. {
  544. c[k]=a[j];
  545. k=k+1;
  546. j=j+1;
  547. }
  548. for(i=low;i<=high;i++)
  549. a[i]=c[i];
  550. }
  551. public static void main(String args[] )
  552. {
  553. int n,i;
  554. Scanner in=new Scanner(System.in);
  555. Random rand=new Random();
  556. System.out.println("MergeSort Test");
  557. /* Accept no.of Elements */
  558. System.out.println("\nEnter the number of elements");
  559. n=in.nextInt();
  560. /* create array of n elements */
  561. int arr[]=new int[max];
  562. try{
  563. /* Generate Random Numbers */
  564. for(i=0;i<n;i++)
  565. arr[i]=rand.nextInt(100);
  566. /* Print random numbers */
  567. System.out.println("\nthe random elements are ");
  568. for(i=0;i<n;i++)
  569. System.out.println(arr[i]+" ");
  570. long start_time=System.nanoTime();
  571. /*call method merge Sort*/
  572. mergesort(arr,0,n-1);
  573. long end_time=System.nanoTime();
  574. /* Print Sorted Array */
  575. System.out.println("\nThe Elements After sorting");
  576. for(i=0;i<n;i++)
  577. System.out.println(arr[i]+" ");
  578. long t=end_time - start_time;
  579. System.out.println(“Time taken for execution is:”+t+” nanoseconds);
  580. }
  581. catch(ArrayIndexOutOfBoundsException ae)
  582. {
  583. System.out.println("Array Index reached maximum ");
  584. }
  585. }
  586. }
  587.  
  588. ----------------------------------------------------------------------------------------------------------------------------
  589. Program 6 A
  590. ----------------------------------------------------------------------------------------------------------------------------
  591.  
  592. package knapsack;
  593. import java.util.Scanner;
  594. public class Knapsack1
  595. {
  596. private static int w[]=new int[10];
  597. private static int b[]=new int[10];
  598. private static int v[][]=new int[10][10];
  599. private static int value[]=new int[10];
  600. static int max(int a,int b)
  601. {
  602. return(a>b)?a:b;
  603. }
  604. static int knap(int i,int j)
  605. {
  606. if(i==0 || j==0)
  607. v[i][j]=0;
  608. elseif(j<w[i])
  609. v[i][j]=knap(i-1,j);
  610. else
  611. v[i][j]=max(knap(i-1,j), value[i]+knap(i-1,j-w[i]));
  612. returnv[i][j];
  613. }
  614. static void optimal(int i,int j)
  615. {
  616. if(i>=1 || j>=1)
  617. if(v[i][j]!=v[i-1][j])
  618. {
  619. System.out.println("Item:"+i);
  620. b[i]=1;
  621. j=j-w[i];
  622. optimal(i-1,j);
  623. }
  624. else
  625. optimal(i-1,j);
  626. }
  627. public static void main(String[] args)
  628. {
  629. int profit, w1,n,i,j;
  630. Scanner sc=new Scanner(System.in);
  631. System.out.println("enter the number of items:");
  632. n=sc.nextInt();
  633. System.out.println("enter the capacity of the knapsack:");
  634. w1=sc.nextInt();
  635. System.out.println("enter the values:");
  636. for(i=1;i<=n;i++)
  637. value[i]=sc.nextInt();
  638. System.out.println("enter the weights:");
  639. for(i=1;i<=n;i++)
  640. w[i]=sc.nextInt();
  641. profit=knap(n,w1);
  642. System.out.println("profit: "+profit);
  643. System.out.println("\noptimal subset is:\n");
  644. optimal(n,w1);
  645. System.out.println("the solution vector is:");
  646. for(i=1;i<=n;i++)
  647. System.out.println(b[i]);
  648. }
  649. }
  650.  
  651. ----------------------------------------------------------------------------------------------------------------------------
  652. Program 6 B
  653. ----------------------------------------------------------------------------------------------------------------------------
  654.  
  655. package knapsack;
  656. import java.util.Scanner;
  657. public class Knapsack2
  658. {
  659. public static void knapsack(int n, int item[],float weight[], float profit[], float capacity)
  660. {
  661. float tp = 0,u;
  662. int i;
  663. u = capacity;
  664. float x[]=new float[20];
  665. for (i = 0; i < n; i++)
  666. x[i] = (float) 0.0;
  667. for (i = 0; i < n; i++)
  668. {
  669. if (weight[i] > u)
  670. break;
  671. else {
  672. x[i] = (float) 1.0;
  673. tp = tp + profit[i];
  674. u = (int) (u - weight[i]);
  675. }
  676. }
  677.  
  678. if (i < n)
  679. x[i] = u / weight[i];
  680. tp = tp + (x[i] * profit[i]);
  681. System.out.println("\nThe result vector is:- ");
  682. for (i = 0; i < n; i++)
  683. System.out.println("\tItem "+item[i]+":" +x[i]);
  684. System.out.println("\nMaximum profit is:- " +tp);
  685. }
  686. public static void main(String[] args)
  687. {
  688. float weight[]=new float[20];
  689. float profit[]=new float[20];
  690. float capacity;
  691. int num, i, j;
  692. float ratio[]=new float[20], temp;
  693. int item[]=new int[10];
  694. Scanner in=new Scanner(System.in);
  695. System.out.println("\nEnter the no. of objects:- ");
  696. num=in.nextInt();
  697. System.out.println("\nEnter the the items, weights and profits of each object:- ");
  698. for (i = 0; i < num; i++)
  699. {
  700. item[i]=in.nextInt();
  701. weight[i]=in.nextFloat();
  702. profit[i]=in.nextFloat();
  703. }
  704. System.out.println("\nEnter the capacityacity of knapsack:- ");
  705. capacity=in.nextFloat();
  706. for (i = 0; i < num; i++)
  707. {
  708. ratio[i] = profit[i] / weight[i];
  709. }
  710. for (i = 0; i < num; i++)
  711. {
  712. for (j = i + 1; j < num; j++)
  713. {
  714. if (ratio[i] < ratio[j])
  715. {
  716. temp = ratio[j];
  717. ratio[j] = ratio[i];
  718. ratio[i] = temp;
  719.  
  720. temp = weight[j];
  721. weight[j] = weight[i];
  722. weight[i] = temp;
  723.  
  724. temp = profit[j];
  725. profit[j] = profit[i];
  726. profit[i] = temp;
  727.  
  728. temp=item[j];
  729. item[j]=item[i];
  730. item[i]=(int)temp;
  731. }
  732. }
  733. }
  734. knapsack(num, item,weight, profit, capacity);
  735. }
  736. }
  737.  
  738. ----------------------------------------------------------------------------------------------------------------------------
  739. Program 7
  740. ----------------------------------------------------------------------------------------------------------------------------
  741.  
  742. package shortestpath;
  743. import java.util.Scanner;
  744. public class Dijkstra
  745. {
  746. public static int findmin()
  747. {
  748. int i,n,min=0;
  749. int d[]=new int[20];
  750. int s[]=new int[20];
  751. Scanner in=new Scanner(System.in);
  752. n=in.nextInt();
  753. for(i=1;i<=n;i++)
  754. {
  755. if(s[i]==0)
  756. {
  757. min=i;
  758. break;
  759. }
  760. }
  761. for(i=1;i<=n;i++)
  762. {
  763. if(d[i]<d[min] && s[i]==0)
  764. min=i;
  765. }
  766. return min;
  767. }
  768. public void dijkstra(int v,int w[][],int s[],int d[],int n)
  769. {
  770. int i,w1,u,k,j;
  771. int p[]=new int[20];
  772. for(i=1;i<=n;i++)
  773. {
  774. s[i]=0;
  775. d[i]=999;
  776. p[i]=0;
  777. }
  778. d[v]=0;
  779. for(k=1;k<=n;k++)
  780. {
  781. u=findmin();
  782. s[u]=1;
  783. for(w1=1;w1<=n;w1++)
  784. {
  785. if(w[u][w1]!=999 && s[w1]==0)
  786. {
  787. if(d[w1]>d[u]+w[u][w1])
  788. {
  789. d[w1]=d[u]+w[u][w1];
  790. p[w1]=u;
  791. }
  792. }
  793. }
  794. }
  795. System.out.println("shortest path costs\n");
  796. for(i=1;i<=n;i++)
  797. {
  798. if(d[i]==999)
  799. System.out.println("sorry! no path for source" + v + "to" + i + "vertex");
  800. else
  801. System.out.println("path cost from" +v+ "to" +i+ "is:" +d[i]+"\n");
  802. }
  803. System.out.println("shortest group of paths are\n");
  804. for(i=1;i<=n;i++)
  805. {
  806. if(i!=v && d[i]!=999)
  807. {
  808. System.out.print(i);
  809. j=p[i];
  810. while(p[j]!=0)
  811. {
  812. System.out.println("<----"+ j +" ");
  813. j=p[j];
  814. }
  815. System.out.println("<----"+ v +"\n");
  816. }
  817. }
  818. }
  819. public static void main(String args[])
  820. {
  821. int i,j,n,v;
  822. int d[]=new int[20];
  823. int s[]=new int[20];
  824. int w[][]=new int[50][50];
  825. Dijikstra d1 = new Dijikstra();
  826. Scanner in=new Scanner(System.in);
  827. System.out.println("enter the number of vertices\n");
  828. n=in.nextInt();
  829. System.out.println("enter the cost of vertices\n");
  830. for(i=1;i<=n;i++)
  831. for(j=1;j<=n;j++)
  832. {
  833. w[i][j]=in.nextInt();
  834. }
  835. System.out.println("enter the source vertex\n");
  836. v=in.nextInt();
  837. /* call Dijkstra method */
  838. d1.dijkstra(v,w,s,d,n);
  839. }
  840. }
  841. -------------------------------------------------------------------------------------------------
  842. PROG 8
  843. --------------------------------------------------------------------------------------------------
  844. import java.util.*;
  845. public class Kruskal
  846. {
  847. static int parent[]=new int[10];
  848. static int cost[][]=new int[10][10];
  849. public static void main(String args[])
  850. {
  851. Scanner sn=new Scanner(System.in);
  852. System.out.print("Enter the no. of vertices : ");
  853. int n=sn.nextInt();
  854. System.out.println("Enter the cost matrix : ");
  855. for(int i=1;i<=n;i++)
  856. for(int j=1;j<=n;j++)
  857. cost[i][j]=sn.nextInt();
  858. kruskal(n);
  859. }
  860. public static void kruskal(int n)
  861. {
  862. int c=1,sum=0;
  863. while(c<n)
  864. {
  865. int u=0,v=0,i=0,j=0;
  866. int min=999;
  867. for(i=1;i<=n;i++)
  868. for(j=1;j<=n;j++)
  869. if(cost[i][j]<min&&i!=j)
  870. {
  871. min=cost[i][j];
  872. u=i;
  873. v=j;
  874. }
  875. i=find(u);
  876. j=find(v);
  877. if(i!=j)
  878. {
  879. union(i,j);
  880. sum+=cost[u][v];
  881. System.out.println("(" + u + "," + v + ")" + "=" + cost[u][v]);
  882. c++;
  883. }
  884. cost[u][v]=cost[v][u]=999;
  885. }
  886. System.out.println("Minimum Cost: "+sum);
  887. }
  888. static int find(int p)
  889. {
  890. while(parent[p]!=0)
  891. p=parent[p];
  892. return p;
  893. }
  894. static void union(int i,int j)
  895. {
  896. if(i<j)
  897. parent[i]=j;
  898. else
  899. parent[j]=i;
  900. }
  901. }
  902. -------------------------------------------------------------------------------------------------
  903. PROG 9
  904. --------------------------------------------------------------------------------------------------
  905. import java.util.*;
  906. public class Prims
  907. {
  908. public static void main(String args[])
  909. {
  910. int cost[][]=new int[10][10];
  911. int vis[]=new int[10];
  912. Scanner sn=new Scanner(System.in);
  913. System.out.print("Enter the no. of vertices : ");
  914. int n=sn.nextInt();
  915. for(int i=1;i<=n;i++)
  916. vis[i]=0;
  917. System.out.println("Enter the cost matrix : ");
  918. for(int i=1;i<=n;i++)
  919. for(int j=1;j<=n;j++)
  920. cost[i][j]=sn.nextInt();
  921. System.out.print("Enter the source vertex : ");
  922. int source=sn.nextInt();
  923. vis[source]=1;
  924. int c=1,sum=0;
  925. while(c<n)
  926. {
  927. int min=999;
  928. int u=0,v=0;
  929. for(int i=1;i<=n;i++)
  930. for(int j=1;j<=n;j++)
  931. if(vis[i]==1&&vis[j]==0)
  932. if(i!=j&&cost[i][j]<min)
  933. {
  934. min=cost[i][j];
  935. u=i;
  936. v=j;
  937. }
  938. vis[v]=1;
  939. c++;
  940. sum+=min;
  941. System.out.println(u + "->" + v + "=" + min);
  942. }
  943. for(int i=1;i<=n;i++)
  944. if(vis[i]==0)
  945. {
  946. System.out.println("No Spanning tree!!");
  947. System.exit(0);
  948. }
  949. System.out.println("The cost of minimum spanning tree is" + sum);
  950. }
  951. }
  952. -------------------------------------------------------------------------------------------------
  953. PROG 10 A
  954. ----------------------------------------------------------------------------------------------------
  955. import java.util.*;
  956. public class Floyd
  957. {
  958. static int cost[][]=new int[10][10];
  959. public static void main(String args[])
  960. {
  961. Scanner sn=new Scanner(System.in);
  962. System.out.print("Enter the no. of vertices : ");
  963. int n=sn.nextInt();
  964. System.out.println("Enter the cost matrix : ");
  965. for(int i=1;i<=n;i++)
  966. for(int j=1;j<=n;j++)
  967. cost[i][j]=sn.nextInt();
  968. floyd(n);
  969. System.out.println("The distance matrix : ");
  970. for(int i=1;i<=n;i++)
  971. {
  972. for(int j=1;j<=n;j++)
  973. System.out.print(cost[i][j]+" ");
  974. System.out.println();
  975. }
  976. }
  977. public static void floyd(int n)
  978. {
  979. for(int k=1;k<=n;k++)
  980. for(int i=1;i<=n;i++)
  981. for(int j=1;j<=n;j++)
  982. if(cost[i][j]>(cost[i][k]+cost[k][j]))
  983. cost[i][j]=cost[i][k]+cost[k][j];
  984. }
  985. }
  986. ------------------------------------------------------------------------------------------------
  987. PROG 10 B
  988. -------------------------------------------------------------------------------------------------
  989. import java.util.*;
  990. public class tsp
  991. {
  992. final static int MAX=100;
  993. public static void main(String args[])
  994. {
  995. int cost[][]=new int[MAX][MAX];
  996. int tour[]=new int[MAX];
  997. Scanner sn=new Scanner(System.in);
  998. System.out.print("Enter the no. of vertices : ");
  999. int n=sn.nextInt();
  1000. System.out.println("Enter the cost matrix : ");
  1001. for(int i=1;i<=n;i++)
  1002. for(int j=1;j<=n;j++)
  1003. cost[i][j]=sn.nextInt();
  1004. for(int i=1;i<=n;i++)
  1005. tour[i]=i;
  1006. int min_cost=tsp_dp(cost,tour,1,n);
  1007. System.out.println("Minimunm cost : "+min_cost+"\n\nTour : ");
  1008. for(int i=1;i<=n+1;i++)
  1009. System.out.print(tour[i]+" ");
  1010. }
  1011. public static int tsp_dp(int cost[][],int tour[],int start,int n)
  1012. {
  1013. int temp[]=new int[MAX];
  1014. int mintour[]=new int[MAX];
  1015. int mincost,ccost;
  1016. if(start==n-1)
  1017. return(cost[tour[n-1]][tour[n]]+cost[tour[n]][1]);
  1018. mincost=999;
  1019. for(int i=start+1;i<=n;i++)
  1020. {
  1021. for(int j=1;j<=n;j++)
  1022. temp[j]=tour[j];
  1023. temp[start+1]=tour[i];
  1024. temp[i]=tour[start+1];
  1025. if(cost[tour[start]][tour[i]]+(ccost=tsp_dp(cost,temp,start+1,n))<mincost)
  1026. {
  1027. mincost=ccost+cost[tour[start]][tour[i]];
  1028. for(int k=1;k<=n;k++)
  1029. mintour[k]=temp[k];
  1030. }
  1031. }
  1032. int i;
  1033. for(i=1;i<=n;i++)
  1034. tour[i]=mintour[i];
  1035. tour[i]=start;
  1036. return mincost;
  1037. }
  1038. }
  1039. ------------------------------------------------------------------------------------------------
  1040. PROG 11
  1041. --------------------------------------------------------------------------------------------------
  1042. import java.util.*;
  1043. public class subset
  1044. {
  1045. public static void main(String args[])
  1046. {
  1047. int a[]=new int[10];
  1048. int x[]=new int[10];
  1049. int flag=0;
  1050. Scanner s=new Scanner(System.in);
  1051. System.out.print("Enter the number of elements in the set : ");
  1052. int n=s.nextInt();
  1053. System.out.println("Enter the elements : ");
  1054. for(int i=1;i<=n;i++)
  1055. a[i]=s.nextInt();
  1056. System.out.print("Enter the desired sum : ");
  1057. int dsum=s.nextInt();
  1058. for(int i=1;i<Math.pow(2,n);i++)
  1059. {
  1060. subset(i,n,x);
  1061. int sum=0;
  1062. for(int j=1;j<=n;j++)
  1063. if(x[j]==1)
  1064. sum+=a[j];
  1065. if(sum==dsum)
  1066. {
  1067. flag=1;
  1068. System.out.print("Subset : {");
  1069. for(int j=1;j<=n;j++)
  1070. if(x[j]==1)
  1071. System.out.print(a[j]+",");
  1072. System.out.println("} = "+sum);
  1073. }
  1074. }
  1075. if(flag==0)
  1076. System.out.println("No such subset found!!");
  1077. }
  1078. public static void subset(int num,int n,int x[])
  1079. {
  1080. for(int i=1;i<=n;i++)
  1081. x[i]=0;
  1082. for(int i=n;num!=0;i--)
  1083. {
  1084. x[i]=num%2;
  1085. num/=2;
  1086. }
  1087. }
  1088. }
  1089. -------------------------------------------------------------------------------------------------
  1090. PROG 12
  1091. ------------------------------------------------------------------------------------------------
  1092. import java.util.*;
  1093. public class Hamiltonian
  1094. {
  1095. static int x[]=new int[10];
  1096. public static void main(String args[])
  1097. {
  1098. int adj[][]=new int[10][10];
  1099. Scanner sn=new Scanner(System.in);
  1100. System.out.print("Enter the no. of vertices : ");
  1101. int n=sn.nextInt();
  1102. System.out.println("Enter the 0/1 Adjacency matrix : ");
  1103. for(int i=1;i<=n;i++)
  1104. for(int j=1;j<=n;j++)
  1105. {
  1106. adj[i][j]=sn.nextInt();
  1107. x[i]=0;
  1108. }
  1109. x[1]=1;
  1110. System.out.println("Hamiltonian Cycles : ");
  1111. hamiltonian(adj,n,2);
  1112. }
  1113. static void hamiltonian(int adj[][],int n,int k)
  1114. {
  1115. while(true)
  1116. {
  1117. nextval(adj,n,k);
  1118. if(x[k]==0)
  1119. return;
  1120. if(k==n)
  1121. {
  1122. for(int i=1;i<=n;i++)
  1123. System.out.print(x[i]+" -> ");
  1124. System.out.println(x[1]);
  1125. }
  1126. else
  1127. hamiltonian(adj,n,k+1);
  1128. }
  1129. }
  1130. static void nextval(int adj[][],int n,int k)
  1131. {
  1132. int i;
  1133. while(true)
  1134. {
  1135. x[k]=(x[k]+1)%(n+1);
  1136. if(x[k]==0)
  1137. return;
  1138. if(adj[x[k-1]][x[k]]==1)
  1139. {
  1140. for(i=1;i<k;i++)
  1141. if(x[i]==x[k])
  1142. break;
  1143. if(i==k)
  1144. if((k<n)||((k==n)&&(adj[x[n]][x[1]]==1)))
  1145. return;
  1146. }
  1147. }
  1148. }
  1149. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement