chore(Python): shell sort algorithm (#331)

pull/335/head
Ayush Parikh 2021-06-01 20:36:31 +05:30 committed by GitHub
parent 544f5755c2
commit 5b028ab3c3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 34 additions and 0 deletions

View File

@ -30,6 +30,7 @@
5. [Selection Sort](sorting/selection_sort.py)
6. [Heap Sort](sorting/heap-sort.py)
7. [Radix Sort](sorting/radix-sort.py)
8. [Shell Sort](sorting/shell-sort.py)
## Strings
1. [Is Good Str](strings/is_good_str.py)

View File

@ -0,0 +1,33 @@
def shellSort(input_list):
gap = len(input_list) // 2
while gap > 0:
for i in range(gap, len(input_list)):
temp = input_list[i]
j = i
# Sort the sub list for this gap
while j >= gap and input_list[j - gap] > temp:
input_list[j] = input_list[j - gap]
j = j-gap
input_list[j] = temp
# Reduce the gap for the next element
gap = gap//2
list = [19,2,31,45,30,11,121,27]
shellSort(list)
print(list)
#Time Complexity
#Worst Case Complexity: less than or equal to O(n2) Worst case complexity for shell sort is always less than or equal to O(n2) . ...
#Best Case Complexity: O(n*log n) ...
#Average Case Complexity: O(n*log n)#