mirror of
https://github.com/TheAlgorithms/Python.git
synced 2024-11-30 16:31:08 +00:00
7f4f565e62
* subset_generation generate all possible subset of size n of a given array of size r * Rename subset_generation to subset_generation.py * Update subset_generation.py I made all changes I could . What I mean is I removed all the empty space ....... There some comment extra if you feel removing those comments please do so yourself pls provide spacing as it should be * Create morse_Code_implementation.py * Any more changes pls let me know
40 lines
1.3 KiB
Python
40 lines
1.3 KiB
Python
# python program to print all subset combination of n element in given set of r element .
|
|
#arr[] ---> Input Array
|
|
#data[] ---> Temporary array to store current combination
|
|
# start & end ---> Staring and Ending indexes in arr[]
|
|
# index ---> Current index in data[]
|
|
#r ---> Size of a combination to be printed
|
|
def combinationUtil(arr,n,r,index,data,i):
|
|
#Current combination is ready to be printed,
|
|
# print it
|
|
if(index == r):
|
|
for j in range(r):
|
|
print(data[j],end =" ")
|
|
print(" ")
|
|
return
|
|
# When no more elements are there to put in data[]
|
|
if(i >= n):
|
|
return
|
|
#current is included, put next at next
|
|
# location
|
|
data[index] = arr[i]
|
|
combinationUtil(arr,n,r,index+1,data,i+1)
|
|
# current is excluded, replace it with
|
|
# next (Note that i+1 is passed, but
|
|
# index is not changed)
|
|
combinationUtil(arr,n,r,index,data,i+1)
|
|
# The main function that prints all combinations
|
|
#of size r in arr[] of size n. This function
|
|
#mainly uses combinationUtil()
|
|
def printcombination(arr,n,r):
|
|
# A temporary array to store all combination
|
|
# one by one
|
|
data = [0]*r
|
|
#Print all combination using temprary
|
|
#array 'data[]'
|
|
combinationUtil(arr,n,r,0,data,0)
|
|
# Driver function to check for above function
|
|
arr = [10,20,30,40,50]
|
|
printcombination(arr,len(arr),3)
|
|
#This code is contributed by Ambuj sahu
|