
									 Problem
								
								
									 Solution
								
								
									 Submissions
								
								
							Insertion Sort Algorithm
								Certification: Intermediate Level
								Accuracy: 50%
								Submissions: 8
								Points: 10
							
							Write a Python program that implements the Insertion Sort algorithm to sort a list of integers in ascending order. Insertion Sort builds the final sorted array one item at a time, taking one element from the input data in each iteration and inserting it into its correct position in the already sorted part of the array.
Example 1
- Input: [12, 11, 13, 5, 6]
 - Output: [5, 6, 11, 12, 13]
 - Explanation: 
    
- Step 1: Take the input array [12, 11, 13, 5, 6].
 - Step 2: Start with [12] as the sorted portion and [11, 13, 5, 6] as unsorted.
 - Step 3: Take 11, compare with sorted elements, and insert: [11, 12] | [13, 5, 6].
 - Step 4: Take 13, compare and insert: [11, 12, 13] | [5, 6].
 - Step 5: Take 5, compare and insert: [5, 11, 12, 13] | [6].
 - Step 6: Take 6, compare and insert: [5, 6, 11, 12, 13].
 - Step 7: Return the sorted array [5, 6, 11, 12, 13].
 
 
Example 2
- Input: [64, 34, 25, 12, 22, 11, 90]
 - Output: [11, 12, 22, 25, 34, 64, 90]
 - Explanation: 
    
- Step 1: Take the input array [64, 34, 25, 12, 22, 11, 90].
 - Step 2: Start with [64] as the sorted portion and [34, 25, 12, 22, 11, 90] as unsorted.
 - Step 3: Take 34, compare with sorted elements, and insert: [34, 64] | [25, 12, 22, 11, 90].
 - Step 4: Take 25, compare and insert: [25, 34, 64] | [12, 22, 11, 90].
 - Step 5: Continue this process for all elements.
 - Step 6: Return the sorted array [11, 12, 22, 25, 34, 64, 90].
 
 
Constraints
- 1 ≤ len(arr) ≤ 10^3
 - -10^6 ≤ arr[i] ≤ 10^6
 - Time Complexity: O(n²), where n is the length of the array
 - Space Complexity: O(1)
 
Editorial
									
												
My Submissions
										All Solutions
									| Lang | Status | Date | Code | 
|---|---|---|---|
| You do not have any submissions for this problem. | |||
| User | Lang | Status | Date | Code | 
|---|---|---|---|---|
| No submissions found. | ||||
Solution Hints
- Iterate through the array starting from the second element
 - For each element, compare it with all elements in the sorted part of the array
 - Shift all elements greater than the current element one position ahead
 - Insert the current element at its correct position in the sorted part
 - The sorted part of the array grows with each iteration
 - Optimize by using binary search to find the insertion position
 - For small arrays or nearly sorted arrays, Insertion Sort can be very efficient