This should be O(2^n)

#include <cstdio>
#include <cstring>
using namespace std;

int n;
int sol[1000];
void solve(int pos, int k) {
    for(int i = 0; i < k; i++) printf("%d, ", sol[i]);
    putchar('\n');
    for(int i = pos; i < n; i++) {
        sol[k] = i+1;
        solve(i+1, k+1);
    }
}

int main() {
    scanf("%d", &n);
    solve(0, 0);
}


On Jul 27, 8:33 pm, Ankur Garg <ankurga...@gmail.com> wrote:
> Hi
>
> The solution in the link is of complexity (n*2^n))
>
> Does anyone know any better solution ?
>
> Regards
> Ankur
> On Tue, Jul 26, 2011 at 11:10 PM, rajeev bharshetty 
> <rajeevr...@gmail.com>wrote:
>
>
>
> > @Ankur The link does has a very good explanation. Nice solution :)
>
> > On Tue, Jul 26, 2011 at 10:47 PM, Kunal Patil <kp101...@gmail.com> wrote:
>
> >> @Ankur Garg: Nice explanation at the link given by u...
>
> >> On Tue, Jul 26, 2011 at 10:35 PM, Ankur Garg <ankurga...@gmail.com>wrote:
>
> >>> Check this
>
> >>>http://codesam.blogspot.com/2011/03/find-all-subsets-of-given-set.html
>
> >>> On Tue, Jul 26, 2011 at 9:41 PM, Vishal Thanki 
> >>> <vishaltha...@gmail.com>wrote:
>
> >>>> Here is the working code..
>
> >>>> #include <stdio.h>
> >>>> #include <stdlib.h>
> >>>> int a[] = {1,2,3,4,5};
> >>>> #define ARRLEN(a) (sizeof(a)/sizeof(a[0]))
> >>>> void print_comb(int len)
> >>>> {
> >>>>        int tlen = len;
> >>>>        int i, j, k;
> >>>>         int al = ARRLEN(a);
> >>>>        for (i = 0; i < al; i++) {
> >>>>                for (j=i+len-1; j<al;j++) {
> >>>>                for (k = i; k < i+len-1; k++) {
> >>>>                        printf("%d ", a[k]);
> >>>>                }
> >>>>                printf("%d\n", a[j]);
> >>>>                 }
> >>>>        }
> >>>> }
>
> >>>> int main(int argc, char *argv[])
> >>>> {
> >>>>        int len = atoi(argv[1]);
> >>>>         print_comb(len);
> >>>>        return 0;
> >>>> }
>
> >>>> On Tue, Jul 26, 2011 at 5:18 PM, praneethn <praneeth...@gmail.com>
> >>>> wrote:
>
> >>>> > check this link:
>
> >>>> > *http://www.stefan-pochmann.info/spots/tutorials/sets_subsets/*
>
> >>>> > On Tue, Jul 26, 2011 at 11:59 AM, sumit <sumitispar...@gmail.com>
> >>>> wrote:
>
> >>>> >> Given an array of size n, print all the possible subset of array of
> >>>> >> size k.
> >>>> >> eg:-
> >>>> >> input:
> >>>> >> a[]={1,2,3,4}, k = 2
> >>>> >> output:
> >>>> >> 1,2
> >>>> >> 1,3
> >>>> >> 1,4
> >>>> >> 2,3
> >>>> >> 2,4
> >>>> >> 3,4
>
> >>>> >> --
> >>>> >> You received this message because you are subscribed to the Google
> >>>> Groups
> >>>> >> "Algorithm Geeks" group.
> >>>> >> To post to this group, send email to algogeeks@googlegroups.com.
> >>>> >> To unsubscribe from this group, send email to
> >>>> >> algogeeks+unsubscr...@googlegroups.com.
> >>>> >> For more options, visit this group at
> >>>> >>http://groups.google.com/group/algogeeks?hl=en.
>
> >>>> > --
> >>>> > You received this message because you are subscribed to the Google
> >>>> Groups
> >>>> > "Algorithm Geeks" group.
> >>>> > To post to this group, send email to algogeeks@googlegroups.com.
> >>>> > To unsubscribe from this group, send email to
> >>>> > algogeeks+unsubscr...@googlegroups.com.
> >>>> > For more options, visit this group at
> >>>> >http://groups.google.com/group/algogeeks?hl=en.
>
> >>>> --
> >>>> You received this message because you are subscribed to the Google
> >>>> Groups "Algorithm Geeks" group.
> >>>> To post to this group, send email to algogeeks@googlegroups.com.
> >>>> To unsubscribe from this group, send email to
> >>>> algogeeks+unsubscr...@googlegroups.com.
> >>>> For more options, visit this group at
> >>>>http://groups.google.com/group/algogeeks?hl=en.
>
> >>>  --
> >>> You received this message because you are subscribed to the Google Groups
> >>> "Algorithm Geeks" group.
> >>> To post to this group, send email to algogeeks@googlegroups.com.
> >>> To unsubscribe from this group, send email to
> >>> algogeeks+unsubscr...@googlegroups.com.
> >>> For more options, visit this group at
> >>>http://groups.google.com/group/algogeeks?hl=en.
>
> >>  --
> >> You received this message because you are subscribed to the Google Groups
> >> "Algorithm Geeks" group.
> >> To post to this group, send email to algogeeks@googlegroups.com.
> >> To unsubscribe from this group, send email to
> >> algogeeks+unsubscr...@googlegroups.com.
> >> For more options, visit this group at
> >>http://groups.google.com/group/algogeeks?hl=en.
>
> > --
> > Regards
> > Rajeev N B <http://www.opensourcemania.co.cc>
>
> >  --
> > You received this message because you are subscribed to the Google Groups
> > "Algorithm Geeks" group.
> > To post to this group, send email to algogeeks@googlegroups.com.
> > To unsubscribe from this group, send email to
> > algogeeks+unsubscr...@googlegroups.com.
> > For more options, visit this group at
> >http://groups.google.com/group/algogeeks?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to algogeeks@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.

Reply via email to