From 2e5c69119cd8966f691f874d5175208f00653246 Mon Sep 17 00:00:00 2001 From: SHabaj-dev Date: Mon, 3 Oct 2022 00:17:19 +0530 Subject: [PATCH] added Algos --- CONTRIBUTING.md | 9 +++ CPP/Algos/SearchingAlgos/BinarySearch.cpp | 61 +++++++++++++++++ CPP/Algos/SearchingAlgos/LinearSeach.cpp | 44 +++++++++++++ CPP/Algos/SortingAlgos/BubbleSort.cpp | 35 ++++++++++ CPP/Algos/SortingAlgos/BubbleSort.exe | Bin 0 -> 45955 bytes CPP/Algos/SortingAlgos/InsertionSort.cpp | 39 +++++++++++ CPP/Algos/SortingAlgos/InsertionSort.exe | Bin 0 -> 45228 bytes CPP/Algos/SortingAlgos/SelectionSort.cpp | 76 ++++++++++++++++++++++ 8 files changed, 264 insertions(+) create mode 100644 CPP/Algos/SearchingAlgos/BinarySearch.cpp create mode 100644 CPP/Algos/SearchingAlgos/LinearSeach.cpp create mode 100644 CPP/Algos/SortingAlgos/BubbleSort.cpp create mode 100644 CPP/Algos/SortingAlgos/BubbleSort.exe create mode 100644 CPP/Algos/SortingAlgos/InsertionSort.cpp create mode 100644 CPP/Algos/SortingAlgos/InsertionSort.exe create mode 100644 CPP/Algos/SortingAlgos/SelectionSort.cpp diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ea3fda18..ae8983da 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -426,4 +426,13 @@ INSTITUTE/COMPANY : Maharshi Dayanand University
DOMAIN: Python
--- +--- + +NAME : Shabaj Ansari
+GITHUB : [SHabaj-dev](https://github.com/SHabaj-dev)
+INSTITUTE/COMPANY : Galgotias University
+DOMAIN/LANGUGAE : C++
+ +--- +--- diff --git a/CPP/Algos/SearchingAlgos/BinarySearch.cpp b/CPP/Algos/SearchingAlgos/BinarySearch.cpp new file mode 100644 index 00000000..509d9585 --- /dev/null +++ b/CPP/Algos/SearchingAlgos/BinarySearch.cpp @@ -0,0 +1,61 @@ +/*Implementing Binary Search + +Algo: +1: Start; +2: Initalize start = 0 ans end = size - 1; +3: Find mid = start + (end - start) / 2; +4: Compare the Target +5: IF tareget is greater then set start = mid + 1; + ELSE + mid - 1; +6: Repete Step 5 Until Target is not found. +7: END; + +Time Complexity is O(log n); +Space Complexity = O(1); +*/ +#include + +using namespace std; + +void readArray(int array[], int size){ + cout << "Enter the Elements of the Array : "<< endl; + for(int i = 0; i < size; i++){ + cin >> array[i]; + } +} + +int binarySearch(int array[], int size, int target){ + int start = 0; + int end = size - 1; + int mid; + + while(start <= end){ + mid = start + (end - start) / 2; + + if(array[mid] == target){ + return mid; + } + + if(array[mid] > target){ + end = mid - 1; + }else{ + start = mid + 1; + } + } + return -1; +} + +int main(){ + int size, target, index; + cin >> size; + int array[size]; + readArray(array, size); + cout << "Enter the target Number " << endl; + cin >> target; + + index = binarySearch(array, size, target); + + cout << "Target Present at index " << index << endl; + +} \ No newline at end of file diff --git a/CPP/Algos/SearchingAlgos/LinearSeach.cpp b/CPP/Algos/SearchingAlgos/LinearSeach.cpp new file mode 100644 index 00000000..3aadbc75 --- /dev/null +++ b/CPP/Algos/SearchingAlgos/LinearSeach.cpp @@ -0,0 +1,44 @@ +/*Program to implement Linear search Algo. + +Algo: +1: intialize target; +2: start traversing the array one by one and comparing each +with target. +3: if found return the index; +4: else repet step 2. +5:end + +Time Complexity = O(n^2); +Space Complexity = O(1); + +*/ +#include +using namespace std; + +void readArray(int array[], int size){ + for(int i = 0 ; i < size; i++){ + cin >> array[i]; + } +} + +int linearSearch(int array[], int size, int target){ + + for(int i = 0; i < size; i++){ + if(target == array[i]){ + return i; + } + } + return -1; +} + +int main(){ + int size, target; + cin >> size; + int array[size]; + readArray(array, size); + cin >> target; + + cout << "Element found at index " << linearSearch(array, size, target); + + return 0; +} \ No newline at end of file diff --git a/CPP/Algos/SortingAlgos/BubbleSort.cpp b/CPP/Algos/SortingAlgos/BubbleSort.cpp new file mode 100644 index 00000000..99fd6c5e --- /dev/null +++ b/CPP/Algos/SortingAlgos/BubbleSort.cpp @@ -0,0 +1,35 @@ +/* +Implemnting Bubble Sort. + +Time Complexity = O(n^2); +Space Complexity = O(1); +*/ + +#include +using namespace std; + +int main(){ + int size; + cin >> size; + int array[size]; + cout << "Enter the Elements : "<< endl; + + for(int i = 0; i < size; i++){ + cin >> array[size]; + } + + for(int i = 1; i < size; i++){ + for(int j = 0; j < size - i; j++){ + + if(array[j] > array[j + 1]){ + swap(array[j], array[j + 1]); + } + } + } + + for(int i = 0; i < size; i++){ + cout << array[i] << " "; + } + + return 0; +} \ No newline at end of file diff --git a/CPP/Algos/SortingAlgos/BubbleSort.exe b/CPP/Algos/SortingAlgos/BubbleSort.exe new file mode 100644 index 0000000000000000000000000000000000000000..e70fb37f18601cc996f1b52ccbbe8dab90cf257f GIT binary patch literal 45955 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 literal 0 HcmV?d00001 diff --git a/CPP/Algos/SortingAlgos/InsertionSort.cpp b/CPP/Algos/SortingAlgos/InsertionSort.cpp new file mode 100644 index 00000000..df5a351c --- /dev/null +++ b/CPP/Algos/SortingAlgos/InsertionSort.cpp @@ -0,0 +1,39 @@ +/* +Implemnting the Insertion sort. +Time Complexity = O(n^2); +Space Complexity = O(1); +*/ + +#include +using namespace std; + +int main(){ + int size; + cin >> size; + int array[size]; + + cout << " Enter the Array : " << endl; + for(int i = 0; i < size; i++){ + cin >> array[i]; + } + int i = 1; + while(i < size){ + int temp = array[i]; + int j = i - 1; + while(j >= 0){ + + if(array[j] > temp){ + array[j + 1] = array[j]; + }else{ + break; + } + j--; + } + array[j + 1] = temp; + i++; + } + + for(int i = 0; i < size; i++){ + cout << array[i] << " "; + } +} \ No newline at end of file diff --git a/CPP/Algos/SortingAlgos/InsertionSort.exe b/CPP/Algos/SortingAlgos/InsertionSort.exe new file mode 100644 index 0000000000000000000000000000000000000000..6bffd4d84ed13ea5662a318312566c7f73e95540 GIT binary patch literal 45228 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 +using namespace std; + +void readArray(int array[], int size){ + for(int i = 0 ; i < size; i++){ + cin >> array[i]; + } +} + +void printArray(int array[], int size){ + for(int i = 0 ; i < size; i++){ + cout << array[i] << " "; + } +} + +void selectionSort(int array[], int size){ + for(int i = 0; i < size - 1; i++){ + int minIndex = i; + + for(int j = i + 1; j < size; j++){ + if(array[j] < array[minIndex]){ + minIndex = j; + } + } + swap(array[minIndex], array[i]); + } +} + +int main(){ + int size; + cin >> size; + int array[size]; + cout << "Enter the Elements of the Array. " << endl; + readArray(array, size); + selectionSort(array, size); + printArray(array, size); + + +} \ No newline at end of file