Advertisement
Guest User

Untitled

a guest
Jul 27th, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.06 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.  
  12. public class Lab3 {
  13.  
  14.     public static void main(String[] args) {
  15.     System.out.println("It took : " + SortedArray500() + " milliseconds to find the element in array size 500");
  16.     System.out.println("It took : " + SortedArray1000() + " milliseconds to find the element in array size 1000");
  17.     System.out.println("It took : " + SortedArray2000() + " milliseconds to find the element in array size 2000");
  18.     System.out.println("It took : " + UnSorted500() + " milliseconds to find the element in UnSorted array size 500");
  19.  
  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.         System.out.println("i =" + i);
  42.         long beforeMethod = System.currentTimeMillis();
  43.         while (!found)  // Search for random number if not found go on to next element.
  44.         {
  45.             if (mid == i)
  46.             {
  47.                 found = true;
  48.             }
  49.             else if (i < mid)
  50.             {
  51.                 high = mid;
  52.                 mid = (low + mid)/2;
  53.             }  
  54.             else if (i > mid)
  55.             {
  56.                 low = mid;
  57.                 mid = (mid+high)/2;
  58.             }          
  59.             if (!found)
  60.             {
  61.                 return -1;
  62.             }      
  63.             else
  64.             {
  65.                 return mid;
  66.             }  
  67.         }
  68.         long afterMethod = System.currentTimeMillis();
  69.         return (afterMethod-beforeMethod);
  70.     }
  71.     public static long SortedArray1000()
  72.     {
  73.  
  74.         int [] SArray1000 = new int [1000]; // Create Array of 1000
  75.         Random generator = new Random(); // Create Random number generator
  76.         int r = generator.nextInt(1000);    // Random generator to create numbers from 0-999
  77.  
  78.         for (int i = 0; i < SArray1000.length; i++)
  79.         {
  80.             SArray1000[i] = i;
  81.         }
  82.  
  83.         int i = 0;  // Set i back to 0
  84.         long beforeMethod = System.currentTimeMillis();
  85.         while (SArray1000[i] != r)  // Search for random number if not found go on to next element.
  86.         {
  87.             i++;
  88.         }
  89.         long afterMethod = System.currentTimeMillis();
  90.         return (afterMethod-beforeMethod);
  91.     }
  92.     public static long SortedArray2000()
  93.     {
  94.         int [] SArray2000 = new int [2000]; // Create Array of 2000
  95.         Random generator = new Random(); // Create Random number generator
  96.         int r = generator.nextInt(2000);    // Random generator to create numbers from 0-1999
  97.  
  98.         for (int i = 0; i < SArray2000.length; i++)
  99.         {
  100.             SArray2000[i] = i;
  101.         }
  102.  
  103.         int i = 0;  // Set i back to 0
  104.         long beforeMethod = System.currentTimeMillis();
  105.         while (SArray2000[i] != r)  // Search for random number if not found go on to next element.
  106.         {
  107.             i++;
  108.         }
  109.         long afterMethod = System.currentTimeMillis();
  110.         return (afterMethod-beforeMethod);
  111.     }
  112.     // UNSORTED METHODS
  113.  
  114.     public static long UnSorted500()
  115.     {
  116.         int[] sortedArray500 = new int [500]; // Create Array of 500
  117.         int[] unsortedArray500 = new int[500];
  118.         Random generator = new Random(); // Create Random number generator
  119.         int r = generator.nextInt(500); // Random generator to create numbers from 0-499
  120.         for (int i = 0; i < sortedArray500.length; i++)
  121.             sortedArray500[i] = i;
  122.  
  123.         int k = 0;
  124.             while(k < unsortedArray500.length)
  125.             {
  126.                     r = generator.nextInt(500);
  127.                     if(sortedArray500[r] != -1)
  128.                     {
  129.                         unsortedArray500[k] = sortedArray500[r];
  130.                         sortedArray500[r] = -1;
  131.                         k++;
  132.                     }
  133.             }
  134.         r = generator.nextInt(500);
  135.         long beforeMethod = System.currentTimeMillis();
  136.         int i = 0;
  137.         while (unsortedArray500[i] != r)    // Search for random number if not found go on to next element.
  138.         {
  139.             i++;
  140.         }
  141.         long afterMethod = System.currentTimeMillis();
  142.         return (afterMethod-beforeMethod);
  143.     }
  144. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement