Algorithm
An array of size n:for i=1 to n-1:
    key = arr[i]
    j = i - 1
    while(j >= 0 and key < arr[j]):
        arr[j+1] = arr[j]
        j = j - 1
    arr[j+1] = key
i = i + 1
------------------------------------Code-----------------------------------------
def insertion_sort(alist):
    for i in range(1,len(alist)):
        key=alist[i]
        j=i-1
        while(j >= 0 and key < alist[j]):
            #moving one element to up
            alist[j+1]=alist[j]
            j=j-1
        alist[j+1]=key
if __name__ == "__main__":
    alist=input('Enter the list of numbers: ').split()
    #here I use list comprehenssion method to reduce my line of code.
    alist=[int(x) for x in alist]
    insertion_sort(alist)
    print(f'Your sorted list is: {alist}')
----------------------------Complexity-------------------------------
Worst Complexity: n^2
Average Complexity: n^2
Best Complexity: n
Space Complexity: 1

Comments
Post a Comment
If you've any doubts, please let me text