Advertisement
Guest User

Untitled

a guest
Jul 27th, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.73 KB | None | 0 0
  1. /**
  2.  * @(#)Lab3.java
  3.  *
  4.  * Lab3 application
  5.  *
  6.  * @author
  7.  * @version 1.00 2011/2/20
  8.  */
  9. import java.util.*;
  10.  
  11. public class Lab3 {
  12.  
  13.     public static void main(String[] args) {
  14.     System.out.println("It took : " + SortedArray500() + " NanoSeconds to find the element in array size 500");
  15.     System.out.println("It took : " + SortedArray1000() + " NanoSeconds to find the element in array size 1000");
  16.     System.out.println("It took : " + SortedArray2000() + " NanoSeconds to find the element in array size 2000");
  17.     System.out.println("It took : " + UnSorted500() + " NanoSeconds to find the element in UnSorted array size 500");
  18.     System.out.println("It took : " + UnSorted1000() + " NanoSeconds to find the element in UnSorted array size 1000");
  19.     System.out.println("It took : " + UnSorted2000() + " NanoSeconds to find the element in UnSorted array size 2000");
  20.     }
  21.  
  22.  
  23.  
  24.     // SORTED METHODS BINARY SEARCH!!!!!
  25.     public static long SortedArray500()
  26.     {
  27.        
  28.         int [] SArray500 = new int [500]; // Create Array of 500
  29.         int low = 0;
  30.         int high = SArray500.length-1;
  31.         int mid = (low+high)/2;
  32.         boolean found = false;
  33.        
  34.         Random generator = new Random(); // Create Random number generator
  35.         int r = generator.nextInt(500); // Random generator to create numbers from 0-499
  36.  
  37.         for (int i = 0; i < SArray500.length; i++)
  38.             SArray500[i] = i;
  39.  
  40.         int i = generator.nextInt(500); // Random generator to create numbers from 0-499
  41.         long beforeMethod = System.nanoTime();
  42.         while (!found)  // While loop for binary search
  43.         {
  44.             if (mid == i)
  45.             {
  46.                 found = true;
  47.             }
  48.             if (i < mid)
  49.             {
  50.                 high = mid;
  51.                 mid = (low + mid)/2;
  52.             }  
  53.             if (i > mid)
  54.             {
  55.                 low = mid;
  56.                 mid = (mid+high)/2;
  57.             }          
  58.         }
  59.         long afterMethod = System.nanoTime();
  60.         return (afterMethod-beforeMethod);
  61.     }
  62.     public static long SortedArray1000()
  63.     {
  64.         int [] SArray1000 = new int [1000]; // Create Array of 1000
  65.         boolean found = false;
  66.         int low = 0;
  67.         int high = SArray1000.length-1;
  68.         int mid = (low+high)/2;
  69.         Random generator = new Random(); // Create Random number generator
  70.         int r = generator.nextInt(1000);    // Random generator to create numbers from 0-999
  71.  
  72.         for (int i = 0; i < SArray1000.length; i++)
  73.         {
  74.             SArray1000[i] = i;
  75.         }
  76.  
  77.         int i = generator.nextInt(1000);    // Random generator to create numbers from 0-999
  78.         long beforeMethod = System.nanoTime();
  79.         while (!found)  // While loop for binary search
  80.         {
  81.             if (mid == i)
  82.             {
  83.                 found = true;
  84.             }
  85.             if (i < mid)
  86.             {
  87.                 high = mid;
  88.                 mid = (low + mid)/2;
  89.             }  
  90.             if (i > mid)
  91.             {
  92.                 low = mid;
  93.                 mid = (mid+high)/2;
  94.             }          
  95.         }
  96.         long afterMethod = System.nanoTime();
  97.         return (afterMethod-beforeMethod);
  98.     }
  99.     public static long SortedArray2000()
  100.     {
  101.         int [] SArray2000 = new int [2000]; // Create Array of 2000
  102.         boolean found = false;
  103.         int low = 0;
  104.         int high = SArray2000.length-1;
  105.         int mid = (low+high)/2;
  106.         Random generator = new Random(); // Create Random number generator
  107.         int r = generator.nextInt(2000);    // Random generator to create numbers from 0-1999
  108.  
  109.         for (int i = 0; i < SArray2000.length; i++)
  110.         {
  111.             SArray2000[i] = i;
  112.         }
  113.  
  114.         int i = generator.nextInt(200); // Random generator to create numbers from 0-1999
  115.         long beforeMethod = System.nanoTime();
  116.         while (!found)  // While loop for binary search
  117.         {
  118.             if (mid == i)
  119.             {
  120.                 found = true;
  121.             }
  122.             if (i < mid)
  123.             {
  124.                 high = mid;
  125.                 mid = (low + mid)/2;
  126.             }  
  127.             if (i > mid)
  128.             {
  129.                 low = mid;
  130.                 mid = (mid+high)/2;
  131.             }          
  132.         }
  133.         long afterMethod = System.nanoTime();
  134.         return (afterMethod-beforeMethod);
  135.     }
  136.     // UNSORTED METHODS
  137.  
  138.     public static long UnSorted500()
  139.     {
  140.         int[] sortedArray500 = new int [500]; // Create Array of 500
  141.         int[] unsortedArray500 = new int[500];
  142.         Random generator = new Random(); // Create Random number generator
  143.         int r = generator.nextInt(500); // Random generator to create numbers from 0-499
  144.         for (int i = 0; i < sortedArray500.length; i++)
  145.             sortedArray500[i] = i;
  146.  
  147.         int k = 0;
  148.             while(k < unsortedArray500.length)
  149.             {
  150.                     r = generator.nextInt(500);
  151.                     if(sortedArray500[r] != -1)
  152.                     {
  153.                         unsortedArray500[k] = sortedArray500[r];
  154.                         sortedArray500[r] = -1;
  155.                         k++;
  156.                     }
  157.             }
  158.         r = generator.nextInt(500);
  159.         long beforeMethod = System.nanoTime();
  160.         int i = 0;
  161.         while (unsortedArray500[i] != r)    // Search for random number if not found go on to next element.
  162.         {
  163.             i++;
  164.         }
  165.         long afterMethod = System.nanoTime();
  166.         return (afterMethod-beforeMethod);
  167.     }
  168.     public static long UnSorted1000()
  169.     {
  170.         int[] sortedArray1000 = new int [1000]; // Create Array of 1000
  171.         int[] unsortedArray1000 = new int[1000];
  172.         Random generator = new Random(); // Create Random number generator
  173.         int r = generator.nextInt(1000);    // Random generator to create numbers from 0-999
  174.         for (int i = 0; i < sortedArray1000.length; i++)
  175.             sortedArray1000[i] = i;
  176.  
  177.         int k = 0;
  178.             while(k < unsortedArray1000.length)
  179.             {
  180.                     r = generator.nextInt(1000);
  181.                     if(sortedArray1000[r] != -1)
  182.                     {
  183.                         unsortedArray1000[k] = sortedArray1000[r];
  184.                         sortedArray1000[r] = -1;
  185.                         k++;
  186.                     }
  187.             }
  188.         r = generator.nextInt(1000);
  189.         long beforeMethod = System.nanoTime();
  190.         int i = 0;
  191.         while (unsortedArray1000[i] != r)   // Search for random number if not found go on to next element.
  192.         {
  193.             i++;
  194.         }
  195.         long afterMethod = System.nanoTime();
  196.         return (afterMethod-beforeMethod); 
  197.     }
  198.         // UNSORTED 2000
  199.         public static long UnSorted2000()
  200.     {
  201.         int[] sortedArray2000 = new int [2000]; // Create Array of 2000
  202.         int[] unsortedArray2000 = new int[2000];
  203.         Random generator = new Random(); // Create Random number generator
  204.         int r = generator.nextInt(2000);    // Random generator to create numbers from 0-1999
  205.         for (int i = 0; i < sortedArray2000.length; i++)
  206.             sortedArray2000[i] = i;
  207.  
  208.         int k = 0;
  209.             while(k < unsortedArray2000.length)
  210.             {
  211.                     r = generator.nextInt(2000);
  212.                     if(sortedArray2000[r] != -1)
  213.                     {
  214.                         unsortedArray2000[k] = sortedArray2000[r];
  215.                         sortedArray2000[r] = -1;
  216.                         k++;
  217.                     }
  218.             }
  219.         r = generator.nextInt(2000);
  220.         long beforeMethod = System.nanoTime();
  221.         int i = 0;
  222.         while (unsortedArray2000[i] != r)   // Search for random number if not found go on to next element.
  223.         {
  224.             i++;
  225.         }
  226.         long afterMethod = System.nanoTime();
  227.         return (afterMethod-beforeMethod); 
  228.     }
  229. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement