Didaxis
lecție · Informatică

Generarea submulțimilor

Alegerea includerii fiecărui element.

Se face în:
Clasa a XI-a
Actualizat la: 30 octombrie 2026
1pe scurtstratul 1 din 3 · rezumatul lecției

Pe scurt

O submulțime a unei mulțimi de elemente se obține alegând, pentru fiecare element, dacă îl includem sau nu. Pentru , rezultatele sunt , , și . Sunt submulțimi, inclusiv cea vidă și mulțimea întreagă.

Desen la lecția „Generarea submulțimilor”
2în detaliustratul 2 din 3 · pentru clasă și Bacalaureat

În detaliu

O mulțime cu elemente are submulțimi: pentru fiecare element există două alegeri independente, să fie inclus sau nu. Submulțimea vidă și mulțimea întreagă sunt incluse. O submulțime se reprezintă printr-un vector caracteristic , cu dacă elementul este ales și altfel. Generarea prin backtracking parcurge pe fiecare nivel cele două valori, 0 și 1, fără alte condiții. Dacă 0 este încercat înaintea lui 1, ordinea de generare pentru este: mulțimea vidă, , , . Numărul submulțimilor cu exact elemente este , iar suma numerelor lor este .

Exemplul 1 — submulțimile lui .

#include <iostream>
using namespace std;
int x[10], n = 2;
void bt(int k) {
    if (k > n) {
        cout << "{";
        for (int i = 1; i <= n; ++i)
            if (x[i]) cout << i << " ";
        cout << "} ";
        return;
    }
    for (int v = 0; v <= 1; ++v) {
        x[k] = v;
        bt(k + 1);
    }
}
int main() {
    bt(1);
    return 0;
}

Programul afișează {} {2 } {1 } {1 2 } , adică submulțimi. Fiecare soluție completă corespunde unui vector caracteristic: 00, 01, 10, 11. Dacă se modifică valoarea lui în 3, programul afișează submulțimi. Ordinea provine din ordinea candidaților: pe fiecare nivel se încearcă întâi 0 („nu aleg”), apoi 1 („aleg”), iar ultimul nivel se schimbă cel mai des. Pentru ca elementul 1 să apară primul în ieșire, ordinea candidaților ar trebui inversată. Fiecare nivel are exact două ramuri, deci arborele apelurilor este un arbore binar complet cu niveluri și frunze.

Exemplul 2 — submulțimi cu o proprietate. Pentru cele 8 submulțimi au sumele în ordinea vectorilor caracteristici (cu primul bit din stânga). Singura submulțime cu suma 4 este . Pentru a număra submulțimile fără două elemente consecutive din se adaugă condiția de continuare „dacă , atunci nu poate fi 1”: rezultă 8 submulțimi (vida, cele 4 cu un element, , și ), mai puține decât cele posibile. Numărul lor, 8, este un număr din șirul lui Fibonacci.

Exemplul 3 — câte ori apare fiecare element. Un element oarecare apare în exact dintre cele submulțimi, adică în jumătate dintre ele: celelalte elemente pot fi alese liber. Pentru fiecare element apare în submulțimi, deci suma tuturor sumelor este , ceea ce coincide cu . O astfel de verificare prin formulă confirmă rezultatul unui program fără a lista submulțimile.

Exemplul 4 — alt mod de generare. Un număr întreg de la 0 la scris în baza 2 cu cifre este un vector caracteristic. Pentru , numerele 0, 1, ..., 7 reprezintă toate cele 8 submulțimi; submulțimea corespunzătoare lui 5 () conține elementele de pe pozițiile cu bitul 1. Metoda cere operații pentru fiecare submulțime.

Exemplul 5 — submulțimile cu exact elemente. Pentru și se păstrează doar vectorii caracteristici cu exact doi de 1: 0011, 0101, 0110, 1001, 1010, 1100. Ei corespund submulțimilor , , , , și , în total . Cele cinci valori ale lui dau submulțimi. În backtracking se ține un contor al elementelor alese și se abandonează ramura în care el depășește .

3pentru admiterestratul 3 din 3 · pentru examene

Pentru admitere

Fiecare element are două alegeri independente, de unde . Dacă se cer doar submulțimile cu exact elemente, numărul este . Ordinea afișării depinde de metoda de generare și nu face parte din definiția mulțimii. Nu număra de două ori aceeași mulțime scrisă în altă ordine: și coincid. Dacă enunțul exclude submulțimea vidă, scade 1 din ; dacă exclude și mulțimea întreagă, scade 2. Pentru rezultă 15, respectiv 14 submulțimi. Submulțimile care conțin un element dat sunt , iar cele care conțin două elemente date sunt ; pentru cele care conțin 1 și 2 sunt . La o restricție de tipul „nu există două elemente consecutive”, numărul crește ca în șirul lui Fibonacci: 2, 3, 5, 8 pentru .

Exemplu în formatul examenului. Câte submulțimi ale mulțimii nu conțin două elemente consecutive (numere care diferă prin 1)? Se numără și submulțimea vidă.

  • a) 5
  • b) 8
  • c) 12
  • d) 16

Răspunsul corect este b). Submulțimile fără elemente consecutive sunt: vida; cele patru cu un singur element, ; și cele cu două elemente neconsecutive, , și . Nu există submulțimi cu trei elemente care să respecte condiția. Total . Varianta d) numără toate cele submulțimi, fără restricție.

Greșeli frecvente

  • Greșit: o mulțime cu elemente are submulțimi.
    Corect: are .
  • Greșit: submulțimea vidă nu se numără.
    Corect: este o submulțime și apare printre cele .
  • Greșit: și sunt submulțimi diferite.
    Corect: sunt aceeași mulțime.
în contul tăuPremium

Testează-te pe această lecție

Lecția o citești aici, fără cont. Testele pe lecții și capitole sunt în cont, cu grile originale Didaxis și explicația fiecăreia: gratuit 10 grile pe zi, fără limită cu Premium, 49 de lei pe lună pentru fiecare copil.

Înainte și după

Surse și referințe

Redactare proprie, conform programei:

  • OMECI 5099/2009, anexa 5, Informatică, p. 4–5, clasa XI; plan de încadrare: OMEC 7723/2024, anexa 2, tabelele 1–25, legislatie.just.ro; filiera tehnologică: OMEC 7724/2024, anexa 4, tabelul calificării, legislatie.just.ro
  • UNSTPB, Regulament admitere licență 2026, Anexa II-1.2 p. Anx II-14 și Anexa XI-3 p. Anx XI-6–7 (PDF p. 64, 120–121); admitere.pub.ro
  • OMECTS 4800/2010, anexa 2, Informatică, p. 3–4; edu.ro

Documente consultate

  • UNSTPB, admitere 2026, anexa XI-3, p. Anx XI-6–7
  • Programa școlară de informatică, clasa a XI-a (OMECI 5099/2009, anexa 5), CNCE, p. 4–5; rocnee.eu
  • Programa de bacalaureat la informatică, matematică-informatică (anexa 2 la OMECTS 4800/2010), Ministerul Educației, p. 4–5; edu.ro
  • Subiectele și baremele Bacalaureatului 2026; subiecte2026.edu.ro

Desene: Redactare proprie (desen original), conform Programa școlară de informatică, clasa a XI-a (OMECI 5099/2009, anexa 5), CNCE; rocnee.eu

lecțiile sunt gratuite

Ai citit lecția. Acum verifică-te.