From e59fb92e466dc31bd8e355fe78cf0ab364bee347 Mon Sep 17 00:00:00 2001 From: pranav226 <38501809+pranav226@users.noreply.github.com> Date: Mon, 14 Oct 2019 17:14:37 +0530 Subject: [PATCH 1/4] Create fibonacci_dp.py --- python basics/fibonacci_dp.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 python basics/fibonacci_dp.py diff --git a/python basics/fibonacci_dp.py b/python basics/fibonacci_dp.py new file mode 100644 index 0000000..39d4d13 --- /dev/null +++ b/python basics/fibonacci_dp.py @@ -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)) From 4bc561291ba0c6a36707842a7dba1e6eb3ebb691 Mon Sep 17 00:00:00 2001 From: pranav226 <38501809+pranav226@users.noreply.github.com> Date: Mon, 14 Oct 2019 17:18:34 +0530 Subject: [PATCH 2/4] Create PrimeNo_interval.py --- python basics/PrimeNo_interval.py | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 python basics/PrimeNo_interval.py diff --git a/python basics/PrimeNo_interval.py b/python basics/PrimeNo_interval.py new file mode 100644 index 0000000..801953f --- /dev/null +++ b/python basics/PrimeNo_interval.py @@ -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) From 3e594331423b16cc3b842ce5b335cc2bea5b8178 Mon Sep 17 00:00:00 2001 From: pranav226 <38501809+pranav226@users.noreply.github.com> Date: Mon, 14 Oct 2019 17:25:03 +0530 Subject: [PATCH 3/4] Create ADVANCE_HEAPSORT.py --- python basics/ADVANCE_HEAPSORT.py | 42 +++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 python basics/ADVANCE_HEAPSORT.py diff --git a/python basics/ADVANCE_HEAPSORT.py b/python basics/ADVANCE_HEAPSORT.py new file mode 100644 index 0000000..52adcec --- /dev/null +++ b/python basics/ADVANCE_HEAPSORT.py @@ -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]), From a8100e74256ce14453338393a8a13c87c6c9f54c Mon Sep 17 00:00:00 2001 From: pranav226 <38501809+pranav226@users.noreply.github.com> Date: Mon, 14 Oct 2019 17:28:31 +0530 Subject: [PATCH 4/4] Create basicShellSort.py --- python basics/basicShellSort.py | 37 +++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 python basics/basicShellSort.py diff --git a/python basics/basicShellSort.py b/python basics/basicShellSort.py new file mode 100644 index 0000000..fb12b45 --- /dev/null +++ b/python basics/basicShellSort.py @@ -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]),