Data Structures & Algorithms Sorting
Insertion Sort Algorithm
1 min read Engineering notes
Insertion sort builds the sorted part of the list one element at a time by taking the current value and inserting it into the correct position among the already sorted elements.
It is an in-place algorithm with O(n²) time complexity in the average and worst case, and O(1) extra space.
Example:
- Input: [7, 3, 5, 2]
- Output: [2, 3, 5, 7]
flowchart LR
A[Start] --> B[Pick next element]
B --> C[Shift larger sorted items right]
C --> D[Insert element]
D --> E[Repeat for all elements]
Python Code:
class Solution:
def insertionSort(self, nums):
n = len(nums)
for i in range(1, n):
key = nums[i]
j = i - 1
while j >= 0 and nums[j] > key:
nums[j + 1] = nums[j]
j -= 1
nums[j + 1] = key
return nums