Hướng dẫn print subset of an array recursion c++ - in tập hợp con của một đệ quy mảng c ++

Xem thảo luận

Cải thiện bài viết

Lưu bài viết

  • Đọc
  • Bàn luận
  • Xem thảo luận

    Cải thiện bài viết

    Lưu bài viết

    Đọc

    Examples:  

    Input: array = {1, 2, 3}
    Output: // this space denotes null element. 
             1
             1 2
             1 2 3
             1 3
             2
             2 3
             3
    Explanation: These are all the subsets that 
    can be formed using the array.
    
    Input: 1 2
    Output: 
             1 
             2
             1 2
    Explanation: These are all the subsets that 
    can be formed using the array.

    Bàn luận

    Đưa ra một tập hợp các số nguyên dương, hãy tìm tất cả các tập hợp con của nó. & NBSP; The idea is simple, that if there are n number of elements inside an array, there are n number of choices for the first element in the array. Moving forward to the next recursion call, there will be n-1 number of choices (as we cannot insert the last element again now) for inserting the second element in the array. 
    Using the above idea forms a recursive solution to the problem.

    Algorithm:  

    1. Giải pháp lặp đã được thảo luận ở đây: cách tiếp cận lặp để tìm tất cả các tập hợp con. Bài viết này nhằm mục đích cung cấp một cách tiếp cận quay lại.
    2. Cách tiếp cận: Ý tưởng rất đơn giản, rằng nếu có n số phần tử bên trong một mảng, có n số lượng lựa chọn cho phần tử đầu tiên trong mảng. Chuyển tiếp đến cuộc gọi đệ quy tiếp theo, sẽ có số lượng lựa chọn N-1 (vì chúng ta không thể chèn phần tử cuối cùng một lần nữa) để chèn phần tử thứ hai vào mảng. & NBSP; Sử dụng ý tưởng trên tạo thành một giải pháp đệ quy cho vấn đề .
    3. Tạo một hàm đệ quy lấy các tham số sau, mảng đầu vào, chỉ mục hiện tại, mảng đầu ra hoặc tập hợp con hiện tại, nếu tất cả các tập hợp con cần được lưu trữ thì cần một vectơ của mảng nếu chỉ cần in Không gian này có thể được bỏ qua.
    4. Đầu tiên, in tập hợp con (mảng đầu ra) đã được gửi đến hàm và sau đó chạy một vòng lặp bắt đầu từ ‘index, đến N-1 trong đó n là kích thước của mảng đầu vào. Chúng tôi sử dụng một vòng lặp để chứng minh rằng chúng tôi có chính xác n số lựa chọn để lựa chọn khi thêm phần tử đầu tiên vào mảng mới của chúng tôi. & NBSP;
    1. Bên trong vòng lặp, chúng tôi gọi hàm cho chỉ mục tiếp theo sau khi chèn chỉ mục cụ thể đó và sau đó trong cuộc gọi tiếp theo, chúng tôi lại có các lựa chọn (N-1) để lựa chọn và do đó nó đi. & NBSP;

    Hướng dẫn print subset of an array recursion c++ - in tập hợp con của một đệ quy mảng c ++

    Implementation:  

    C++

    #include <bits/stdc++.h>

    Bất cứ khi nào một cuộc gọi được thực hiện cho chỉ mục cuối cùng của mảng: Trong cuộc gọi chức năng đó, vòng lặp không được chạy như điều kiện i

    Cuối cùng chúng tôi trở lại khi vòng lặp ban đầu kết thúc và chúng tôi đã nhận được tất cả các tập hợp con có thể. & NBSP;

    using namespace std;

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    8

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9#include <bits/stdc++.h>0

    void subsetsUtil(vector<int>& A, vector<vector<int

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    1

    #include <bits/stdc++.h>6#include <bits/stdc++.h>7

    #include <bits/stdc++.h>6#include <bits/stdc++.h>9

    #include <bits/stdc++.h>6using1

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9using3

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9using5using6

    using3

    using8intnamespace0intnamespace2

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    8

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    3intnamespace7

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9using8intstd;1

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    2
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    3int
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    5int
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    7

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9std;6

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9#include <bits/stdc++.h>2 #include <bits/stdc++.h>3int #include <bits/stdc++.h>5

    using3

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9int std;4

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    8

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    3intvoid7

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9using8intsubsetsUtil(vector<1

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9using5 std;9

    int void2

    int2int3int4using6

    #include <bits/stdc++.h>6int7

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9using3

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9#include <bits/stdc++.h>2 #include <bits/stdc++.h>3int subsetsUtil(vector<6

    using3

    #include <bits/stdc++.h>6#include <bits/stdc++.h>2 #include <bits/stdc++.h>3int int1

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9using5 >& A, vector<vector<2

    Java

    >& A, vector<vector<4 >& A, vector<vector<5

    >& A, vector<vector<4 >& A, vector<vector<7

    >& A, vector<vector<8 >& A, vector<vector<9

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    8

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    01
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    02 void

    int2

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    14

    int2using5using6

    #include <bits/stdc++.h>6using3

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    05int
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    7

    #include <bits/stdc++.h>6

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    27

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    05int
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    7

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9using3

    #include <bits/stdc++.h>6

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    11
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    12

    #include <bits/stdc++.h>6

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    21
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    22
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    23
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    24
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    25

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    01
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    02 void
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    40

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    41
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    50
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    24
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    25

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    41
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    50
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    55
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    25

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    41
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    50
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    59
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    25

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    41
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    42
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    22
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    44

    #include <bits/stdc++.h>6

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    68

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    41
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    46
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    22
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    44

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    41
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    62
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    22
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    64
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    65
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    25

    int2int

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    71

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    82
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    83using6

    int2#include <bits/stdc++.h>2 #include <bits/stdc++.h>3int

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    76
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    65
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    78

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    79
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    11
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    81

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    79using3

    int2using3

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    79using3
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    87
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    8

    #include <bits/stdc++.h>6#include <bits/stdc++.h>01

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    82using5
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    91

    int2using5

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    24using6

    #include <bits/stdc++.h>16#include <bits/stdc++.h>17int4

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    25

    #include <bits/stdc++.h>09using3

    #include <bits/stdc++.h>09#include <bits/stdc++.h>23

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    41using3

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9using3

    using3

    Python3

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    41#include <bits/stdc++.h>2223int
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    76
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    65#include <bits/stdc++.h>08

    #include <bits/stdc++.h>09__22223int #include <bits/stdc++.h>13

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    65#include <bits/stdc++.h>15

    #include <bits/stdc++.h>29 #include <bits/stdc++.h>30

    #include <bits/stdc++.h>6#include <bits/stdc++.h>45

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9#include <bits/stdc++.h>32#include <bits/stdc++.h>3#include <bits/stdc++.h>34#include <bits/stdc++.h>35

    #include <bits/stdc++.h>6#include <bits/stdc++.h>52#include <bits/stdc++.h>53

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    24#include <bits/stdc++.h>50

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9using5

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9#include <bits/stdc++.h>2 #include <bits/stdc++.h>38#include <bits/stdc++.h>39 #include <bits/stdc++.h>40#include <bits/stdc++.h>41#include <bits/stdc++.h>424243

    #include <bits/stdc++.h>6#include <bits/stdc++.h>47#include <bits/stdc++.h>48

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    24#include <bits/stdc++.h>50

    #include <bits/stdc++.h>29 #include <bits/stdc++.h>59

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9#include <bits/stdc++.h>68#include <bits/stdc++.h>65
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    65

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9#include <bits/stdc++.h>72

    Các

    #include <bits/stdc++.h>82

    C#

    using #include <bits/stdc++.h>84

    using #include <bits/stdc++.h>86

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    01 >& A, vector<vector<8 >& A, vector<vector<9

    #include <bits/stdc++.h>90

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    01
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    02 void

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9#include <bits/stdc++.h>95int#include <bits/stdc++.h>97_______

    #include <bits/stdc++.h>90

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    8

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    11 using08

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    41using10

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    41using5using6

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9using3

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    21
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    22 using19intusing21

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9using23

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    21
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    22 using19intusing21

    #include <bits/stdc++.h>90using3

    #include <bits/stdc++.h>90

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    01
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    02 void using36

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9using38intusing40
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    22 using38intusing44

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9using19intusing48
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    22 using19intusing52

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9using54

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9using56

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9using58

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    62
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    22 using19intusing64

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9using66

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    41int using69

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    41#include <bits/stdc++.h>2 #include <bits/stdc++.h>3int using74

    #include <bits/stdc++.h>6

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    11 using77

    #include <bits/stdc++.h>09

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    83using6

    #include <bits/stdc++.h>6using3

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    87
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    8

    #include <bits/stdc++.h>09using5 using87

    #include <bits/stdc++.h>6using3

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    41using3

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    41using5 using94

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9#include <bits/stdc++.h>01

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9______2223int namespace01

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    41#include <bits/stdc++.h>2223int namespace06

    #include <bits/stdc++.h>6namespace08int4

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    25

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    41using3

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    41namespace14

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9using3

    #include <bits/stdc++.h>90using3

    using3

    JavaScript

    namespace20

    namespace21 namespace22

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    8

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    11 namespace26

    #include <bits/stdc++.h>6namespace28

    #include <bits/stdc++.h>6using5using6

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9using3

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9namespace35

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9namespace37

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9namespace35

    using3

    namespace41

    namespace42

    namespace43

    namespace44

    namespace45

    namespace46

    namespace47

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9namespace49

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9#include <bits/stdc++.h>2 namespace52

    #include <bits/stdc++.h>6

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    11 namespace55

    int2

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    83using6

    #include <bits/stdc++.h>6namespace60

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    87
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    8

    int2using5 using87

    #include <bits/stdc++.h>6using3

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9using3

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9using5 using94

    #include <bits/stdc++.h>01

    #include <bits/stdc++.h>2 namespace75

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9#include <bits/stdc++.h>2 namespace78

    #include <bits/stdc++.h>6namespace80int4

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    25

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9using3

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    9namespace86namespace87
    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 
    25

    using3

    namespace90

    Đầu ra

    1 
    1 2 
    1 2 3 
    1 3 
    2 
    2 3 
    3 

    Phân tích độ phức tạp: & nbsp; & nbsp;  

    • Độ phức tạp về thời gian: O (n. 2^n). Tổng số tập hợp con được tạo là 2^n, do đó độ phức tạp về thời gian là O (2^n). Nếu chúng tôi bao gồm thời gian thực hiện để sao chép vectơ tập hợp con vào vectơ res, thời gian lấy sẽ bằng với kích thước của vectơ tập hợp con.Total number of subsets generated are 2^n, So Time Complexity is O(2^n). If we include the time taken to copy the subset vector into the res vector the time taken will be equal to the size of the subset vector.
    • Không gian phụ trợ: O (n) Có thể có tại các cuộc gọi đệ quy tối đa tại một thời điểm cụ thể, sẽ tiêu thụ không gian ngăn xếp O (n). & Nbsp;There can be at max n recursion calls at a particular time, which would consume O(n) stack space. 

    Làm thế nào để bạn in tất cả các tập hợp con của một mảng bằng cách sử dụng đệ quy?

    Ở đây chúng tôi đang tạo ra mọi tập hợp con bằng cách sử dụng đệ quy. Tổng số tập hợp con của một bộ kích thước nhất định n = 2^n. Độ phức tạp không gian: O (n) cho tập hợp con mảng thêm ...
    Chọn một phần tử từ đầu vào, tức là tập hợp con [len] = s [pos]. ....
    Hình thành tập hợp con đệ quy bao gồm nó, tức là allsubsets (pos+1, len+1, tập hợp con).

    Làm thế nào để bạn tìm thấy tập hợp con của một mảng?

    Một phần sau/ tập hợp con của một mảng có thể được hình thành bằng cách chọn một số (có thể là 0, 1, 2, ... hoặc bằng kích thước của mảng) trong số tất cả các phần tử mảng có thể, theo cùng một thứ tự mà chúng xuất hiện trongmảng ban đầu.Chúng ta hãy xem xét mảng = {a, b, c}.choosing some (may be 0, 1, 2, ... or equal to size of array) elements out of all the possible array elements, in the same order in which they appear in the original array. Let us consider the array = {a, b, c}.

    Làm cách nào để in tất cả các tập hợp con của một chuỗi?

    Program:..
    lớp công khai AllSubSets {.
    công khai void void chính (chuỗi [] args) {.
    Chuỗi str = "vui vẻ" ;.
    int len = str.chiều dài();.
    int temp = 0 ;.
    // Tổng số tập hợp con có thể cho chuỗi kích thước n là n*(n+1)/2 ..
    Chuỗi mảng [] = chuỗi mới [len*(len+1)/2] ;.
    // Vòng lặp này duy trì ký tự bắt đầu ..

    Làm thế nào để bạn tìm thấy tập hợp con của một bộ?

    Đặt A được cho là một tập hợp con của Set B Nếu tất cả các phần tử của SET A cũng có mặt trong tập B. Nói cách khác, SET A được chứa bên trong tập B. Ví dụ: Nếu SET A có {x, y} và setB có {x, y, z}, thì A là tập hợp con của B vì các phần tử của A cũng có trong tập B.if all the elements of Set A are also present in Set B. In other words, set A is contained inside Set B. Example: If set A has {X, Y} and set B has {X, Y, Z}, then A is the subset of B because elements of A are also present in set B.