Last active
August 11, 2018 18:52
-
-
Save shareefhiasat/76d85a354aaf726a01a20428e4fde556 to your computer and use it in GitHub Desktop.
Algorithims Interview Review
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//2-kim | |
public void bubbleIterative(int arr[], int start, int end){ | |
int n = arr.length; | |
int k; | |
for(int m = n; m >= 0; m--){ | |
for(int i = 0; i < n-1; i++){ | |
k = i + 1; | |
if(arr[k] > arr[i]){ | |
swap(arr,k,i); | |
} | |
} | |
printArray(arr); | |
} | |
} | |
//2-[i+1] | |
int arr[] | |
public void bubbleRecursive(int arr[], int n){ | |
for(int i = 0; i < n-1; i++){ | |
if(arr[i] > arr[i+1]){ | |
swap(arr, i, i+1); | |
} | |
} | |
bubbleRecursive(arr, n-1); | |
} | |
2++--3whlp | |
int arr[]; | |
public void QuickSort(int i, int j){ | |
int lowerIndex = i; | |
int higherIndex = j; | |
int p = [lowerIndex + ((higherIndex-lowerIndex)/2)]; | |
while(i <= j){ | |
while(arr[i] < p){i++;} | |
while(arr[j] > p){i++;} | |
if(i<=j){ | |
swap(arr, i, j); | |
i++; | |
j--; | |
} | |
} | |
if(lowerIndex < j){QuickSort(lowerIndex,j);} | |
if(i < higherIndex){QucikSort(i, higherIndex); } | |
} | |
//1-j=1+index | |
int arr[]; | |
public void SelectionSort(int , int ){ | |
for(int i=0;i<n-1;i++){ | |
int index = i + 1; | |
for(int j=1; j < n; j++){ | |
if(arr[index] > arr[j]){ | |
index = j; | |
} | |
} | |
swap(index, i); | |
} | |
printArray(arr); | |
} | |
//3L-j=i=1 | |
int arr[]; | |
public void InsertionSort(){ | |
for(int i=1; i < n; i++){ | |
for(int j=i; j > 0; j--){ | |
if(arr[j] > arr[j-1]){ | |
swap(j, j-1); | |
} | |
} | |
} | |
} | |
int arr[]; | |
public boolean BinarySearch(int arr[], int i, int j, int k){ | |
int start = 0; | |
int end = arr.length - 1; | |
int mid = i + (j-i)/2; | |
while(start <= end){ | |
if(arr[mid] == k) return true; | |
if(arr[mid] > k){ end = mid - 1; } | |
if(arr[mid] < k){ start = mid + 1;} | |
} | |
return false; | |
} | |
int arr[]; | |
public boolean BinarySearchRecursion(int arr[], int start, int end, int k){ | |
int mid = (start+end)/2; | |
if(start <= end){ | |
if(k > arr[mid]){ | |
BinarySearchRecursion(arr, mid + 1, end k); | |
} if(k < arr[mid]){ | |
BinarySearchRecursion(arr, start, mid -1, k); | |
} else { | |
return mid; | |
} | |
} | |
return -1; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment