Insertion Sort
Insertion Sort is another simple sort algorithm that works with sorted and unsorted parts of an array. Values from unsorted part picked and placed to correct position in sorted part.
Example1
Example 2
[4 | 3
2 10 12 1 4 6] -> [3
4 | 2 10 12 1 4 6]
[3 4 | 2
10 12 1 4 6] -> [2
3 4 | 10 12 1 4 6]
[2 3 4 | 10
12 1 4 6]-> [2 3 4 10
| 12 1 4 6]
[2 3 4 10 | 12
1 4 6] -> [2 3 4 10 12
| 1 4 6]
[2 3 4 10 12 | 1
4 6] -> [1
2 3 4 10 12 | 4 6]
[1 2 3 4 10 12 | 4
6] -> [1 2 3 4 4
10 12 | 6]
[1 2 3 4 4 10 12 | 6
] -> [1 2 3 4 4 6
10 12]
Time complexity is O(N^2), because each next element of an unsorted part iterates through elements of the sorted part. There are two nested loops in the algorithm.
Space complexity: O(1).
123456789101112131415def insertionSort(arr): # Iterate unsorted subarrays for i in range(1, len(arr)): key = arr[i] # Element to move j = i-1 # Iterate sorted part and replace elements one position right while j>=0 and key < arr[j]: arr[j+1] = arr[j] j-=1 # Put key element on its position arr[j+1]= key return arr
Swipe to start coding
Use the insertionSort()
function to sort an array. You can either use the existing function or implement it yourself. Output the sorted array.
Soluzione
Grazie per i tuoi commenti!
single
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Riassuma questo capitolo
Explain code
Explain why doesn't solve task
Awesome!
Completion rate improved to 7.69
Insertion Sort
Scorri per mostrare il menu
Insertion Sort is another simple sort algorithm that works with sorted and unsorted parts of an array. Values from unsorted part picked and placed to correct position in sorted part.
Example1
Example 2
[4 | 3
2 10 12 1 4 6] -> [3
4 | 2 10 12 1 4 6]
[3 4 | 2
10 12 1 4 6] -> [2
3 4 | 10 12 1 4 6]
[2 3 4 | 10
12 1 4 6]-> [2 3 4 10
| 12 1 4 6]
[2 3 4 10 | 12
1 4 6] -> [2 3 4 10 12
| 1 4 6]
[2 3 4 10 12 | 1
4 6] -> [1
2 3 4 10 12 | 4 6]
[1 2 3 4 10 12 | 4
6] -> [1 2 3 4 4
10 12 | 6]
[1 2 3 4 4 10 12 | 6
] -> [1 2 3 4 4 6
10 12]
Time complexity is O(N^2), because each next element of an unsorted part iterates through elements of the sorted part. There are two nested loops in the algorithm.
Space complexity: O(1).
123456789101112131415def insertionSort(arr): # Iterate unsorted subarrays for i in range(1, len(arr)): key = arr[i] # Element to move j = i-1 # Iterate sorted part and replace elements one position right while j>=0 and key < arr[j]: arr[j+1] = arr[j] j-=1 # Put key element on its position arr[j+1]= key return arr
Swipe to start coding
Use the insertionSort()
function to sort an array. You can either use the existing function or implement it yourself. Output the sorted array.
Soluzione
Grazie per i tuoi commenti!
Awesome!
Completion rate improved to 7.69single