From c45ff752548161f446195cea244b7ba599d848c1 Mon Sep 17 00:00:00 2001 From: Sphesihlebjamile <165266044+Sphesihlebjamile@users.noreply.github.com> Date: Thu, 16 Apr 2026 18:30:55 +0200 Subject: [PATCH 1/3] Added the Insertion Sort Algorithm --- src/com/sketch/Main.java | 18 ++++++++++++------ .../sort/insertionsort/InsertionSort.java | 15 +++++++++++++++ 2 files changed, 27 insertions(+), 6 deletions(-) create mode 100644 src/com/sketch/sort/insertionsort/InsertionSort.java diff --git a/src/com/sketch/Main.java b/src/com/sketch/Main.java index 4486a78..7b8306b 100644 --- a/src/com/sketch/Main.java +++ b/src/com/sketch/Main.java @@ -1,24 +1,30 @@ package com.sketch; -import com.sketch.sort.quicksort.QuickSort; +import com.sketch.sort.insertionsort.InsertionSort; import java.util.Arrays; import java.util.Random; public class Main { public static void main(String[] args){ - int[] unsortedArray = new int[100]; + int[] unsortedArray = new int[10000]; Random random = new Random(); for(int i = 0; i < unsortedArray.length; i++){ - unsortedArray[i] = random.nextInt(20); + unsortedArray[i] = random.nextInt(50); } int[] unsortedArrayResult = new int[unsortedArray.length]; System.arraycopy(unsortedArray, 0, unsortedArrayResult, 0, unsortedArray.length); - QuickSort.sort(unsortedArrayResult, 0, unsortedArrayResult.length - 1); + long startTime = System.nanoTime(); - System.out.println("Actual Value Index: " + Arrays.toString(unsortedArray)); - System.out.println("Actual Value Index: " + Arrays.toString(unsortedArrayResult)); + InsertionSort.sort(unsortedArrayResult); + + long endTime = System.nanoTime(); + double duration = (endTime - startTime) / 1_000_000.0; + + System.out.println("Default Array: " + Arrays.toString(unsortedArray)); + System.out.println("Sorted Array: " + Arrays.toString(unsortedArrayResult)); + System.out.println("Execution Time: " + duration + "ms"); } } diff --git a/src/com/sketch/sort/insertionsort/InsertionSort.java b/src/com/sketch/sort/insertionsort/InsertionSort.java new file mode 100644 index 0000000..0604d94 --- /dev/null +++ b/src/com/sketch/sort/insertionsort/InsertionSort.java @@ -0,0 +1,15 @@ +package com.sketch.sort.insertionsort; + +public class InsertionSort { + public static void sort(int[] array){ + for(int i = 1; i < array.length; i++){ + int currentValue = array[i]; + int j = i - 1; + while (j >= 0 && array[j] > currentValue){ + array[j + 1] = array[j]; + j--; + } + array[j + 1] = currentValue; + } + } +} From 3986c90f3fba0b64e75cad996d517b2309f61cad Mon Sep 17 00:00:00 2001 From: Sphesihlebjamile <165266044+Sphesihlebjamile@users.noreply.github.com> Date: Sat, 18 Apr 2026 12:20:04 +0200 Subject: [PATCH 2/3] Added documentation for the Insertion Sort algorithm --- .../sort/insertionsort/InsertionSort.md | 60 ++++++++++++++++++ src/com/sketch/sort/insertionsort/img.png | Bin 0 -> 88095 bytes 2 files changed, 60 insertions(+) create mode 100644 src/com/sketch/sort/insertionsort/InsertionSort.md create mode 100644 src/com/sketch/sort/insertionsort/img.png diff --git a/src/com/sketch/sort/insertionsort/InsertionSort.md b/src/com/sketch/sort/insertionsort/InsertionSort.md new file mode 100644 index 0000000..0a6c001 --- /dev/null +++ b/src/com/sketch/sort/insertionsort/InsertionSort.md @@ -0,0 +1,60 @@ +# Insertion Sort + +Insertion Sort is a simple, comparison-based algorithm that builds a sorted list one element at a time. +It works similarly to the way most people instinctively sort a hand of playing cards - by picking up one card at a time and inserting it into its correct position relative to the cards already held. + +The algorithm is classified as an in-place and stable sorting algorithm =, meaning it requires no additional memory proportional to the input size, +and it preserves the relative order of elements with equal keys. + +![img.png](img.png) + +Insertion Sort divides the input list into two conceptual parts: +- A sorted portion on the left, and +- An unsorted portion on the right. + +At the start, the sorted portion contains only the first element, since a single element is trivially sorted. +The algorithm then proceeds through the following steps for each remaining element: +- The current element is picked from the unsorted portion - *this is called the key*. +- The key is compared against the elements in the sorted portion, moving from right to left. +- Any sorted element that is greater than the key is shifted one position to the right to make room. +- Once the correct position is found, the key is inserted there. +- This process repeats until all elements have been moved from the unsorted portion into the sorted portion. + +By the time the algorithm reaches the last element, the entire list i guaranteed to be sorted. + +## Interesting facts +- Insertion Sort is one of the few sorting algorithms that can sort a list as it receives it - it is an online algorithm, meaning it does not need all elements to be present before it begins sorting. +- Unlike Bubble Sort and [Selection Sort](../selectionsort/SelectionSort.md), Insertion Sort performs very well on nearly sorted data, achieving close to linear time (O(n)) is such cases. +- The algorithm is naturally adaptive - its performance improves the more sorted the input already is. +- Insertion Sort is stable, meaning two elements with equal values will retain their original relative order after sorting. +- It is widely used in education settings as an introduction to sorting due to its intuitive, step-by-step nature. + +## Complexity Analysis +- Time Complexity + - Best Case: O(n) + - Average Case: O(n^2) + - Worst Case: O(n^2) +- Auxiliary Space: + - Best Case: O(1) + - Average Case: O(1) + - Worst Case: O(1) + +## Advantages +- Simple to understand and implement, making it ideal for learning and teaching sorting concepts. +- Very efficient on small datasets, often outperforming more complex algorithms like [Quick Sort](../quicksort/QuickSort.md) or Merge Sort at small sizes. +- Performs exceptionally well o nearly sorter or partially sorted data due to its adaptive nature. +- In-place sorting requires no extra memory allocation, making it memory efficient. +- Stable sort preserves the original order of equal elements, which is important in certain use cases such as sorting records with multiple fields. +- Online algorithm - can sort data as it arrives without needing the full dataset upfront. + +## Disadvantages +- Inefficient on large datasets due to its O(n^2) average and worst-case time complexity. +- Performance degrades significantly when the data is in reverse order, as every element must shift past all previously sorted elements. +- Not suitable as a general-purpose sorting algorithm for large-scale applications where performance is critical. +- Compared to divide-and-conquer algorithms like Merge Sort or [Quick Sort](../quicksort/QuickSort.md), ir does not scale well as input size grows. + +## Applications +- Used as a subroutine in Bucket Sort +- Can be useful when array is already almost sorted +- Since Insertion sort is suitable for small sized arrays, it is used in Hybrid Sorting algorithms along with other efficient algorithms like [Quick Sort](../quicksort/QuickSort.md) and Merge Sort. When the subarray size becomes small, we switch to insertion sort in these recursive algorithms. +- Embedded Systems: In low-memory environments such as micro-controllers, Insertion Sort's in-place O(1) space requirement makes it a practical choice. \ No newline at end of file diff --git a/src/com/sketch/sort/insertionsort/img.png b/src/com/sketch/sort/insertionsort/img.png new file mode 100644 index 0000000000000000000000000000000000000000..1621b0648a3a28083936fcd3b94b4de3823e2d30 GIT binary patch literal 88095 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 z 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 G|9=3xSFxG^ literal 0 HcmV?d00001 From 12fd2f13791e9092cb2be2288812f0d8cf7e5f8c Mon Sep 17 00:00:00 2001 From: Sphesihlebjamile <165266044+Sphesihlebjamile@users.noreply.github.com> Date: Sat, 18 Apr 2026 12:25:21 +0200 Subject: [PATCH 3/3] Added the Insertion Sort link to the Table of Contents in README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 18222d7..7b6bff0 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ This repository is one where we document the implementations and usage of differ - [Sort Algorithms](./src/com/sketch/sort/) - [Quick Sort](./src/com/sketch/sort/quicksort/QuickSort.md) - [Selection Sort](./src/com/sketch/sort/selectionsort/SelectionSort.md) + - [Insertion Sort](./src/com/sketch/sort/insertionsort/InsertionSort.md) ## Contributions This repository is open-source and available to everyone to wants to learn DSA or wants to contibute to documenting other algorithms.