Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 42 additions & 0 deletions python basics/ADVANCE_HEAPSORT.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# This code is contributed by Pranav Jain

def heapify(arr, n, i):
largest = i # Initialize largest as root
l = 2 * i + 1 # left = 2*i + 1
r = 2 * i + 2 # right = 2*i + 2


if l < n and arr[i] < arr[l]:
largest = l


if r < n and arr[largest] < arr[r]:
largest = r

# Change root, if needed
if largest != i:
arr[i],arr[largest] = arr[largest],arr[i] # swap

# Heapify the root.
heapify(arr, n, largest)

# The main function to sort an array of given size
def heapSort(arr):
n = len(arr)


for i in range(n, -1, -1):
heapify(arr, n, i)


for i in range(n-1, 0, -1):
arr[i], arr[0] = arr[0], arr[i] # swap
heapify(arr, i, 0)


arr = [ 12, 11, 13, 5, 6, 7]
heapSort(arr)
n = len(arr)
print ("Sorted array is")
for i in range(n):
print ("%d" %arr[i]),
11 changes: 11 additions & 0 deletions python basics/PrimeNo_interval.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
startRange = 11
endRange = 25

for val in range(startRange, endRange + 1):

if val > 1:
for n in range(2, val):
if (val % n) == 0:
break
else:
print(val)
37 changes: 37 additions & 0 deletions python basics/basicShellSort.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
def shellSort(arr):


n = len(arr)
gap = n/2


# The first gap elements a[0..gap-1] are already in gapped
# order keep adding one more element until the entire array
# is gap sorted
while gap > 0:

for i in range(gap,n):

# add a[i] to the elements that have been gap sorted
# save a[i] in temp and make a hole at position i
temp = arr[i]

# shift earlier gap-sorted elements up until the correct
# location for a[i] is found
j = i
while j >= gap and arr[j-gap] >temp:
arr[j] = arr[j-gap]
j -= gap

# put temp (the original a[i]) in its correct location
arr[j] = temp
gap /= 2



arr = [ 12, 34, 54, 2, 3]

n = len(arr)
print ("Array before sorting:")
for i in range(n):
print(arr[i]),
15 changes: 15 additions & 0 deletions python basics/fibonacci_dp.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
FibArray = [0,1]

def fibonacci(n):
if n<0:
print("Incorrect input")
elif n<=len(FibArray):
return FibArray[n-1]
else:
temp_fib = fibonacci(n-1)+fibonacci(n-2)
FibArray.append(temp_fib)
return temp_fib

# Driver Program

print(fibonacci(9))