Recapitulare pentru teza
Clasa a XI-a


1.Grafuri  orientate
-notiuni :
            -arc, varf, graf partial, subgraf, grad varf, grad exterior, grad interior
            -drum, lungime drum, drum elementar
            -circuit, circuit elementar
    

Exercitii propuse:
a) Dandu-se un graf orientat identificati notiunile anterioare.
b) Desenati un graf in care sa evidentiati notiunile anterioare

-metode de memorare:
            -matricea de adiacenta
            -lista de adiacenta

Exercitii propuse:
a) Dandu-se un graf orientat identificati notiunile anterioare.
b) Desenati un graf in care sa evidentiati notiunile anterioare
c) Sa se memoreze un graf orientat utilizand matricea de adiacente sau lista de adiacente (citire de la tst sau din fisier). Program.
d) Din matricea de adiacente sa se determine: gradul interior, exterior, gradul total, varfurile izolate

-metode de parcurgere:
            -parcurgere in latime
            -parcurgere in adancime

Exercitii propuse:
a) Dandu-se un graf orientat sa se parcuga bf sau df (succesiune de varfuri parcuse)
b) Parcurgere bf sau df ( recursiv, graful memorat prin matrice). Program.

-componente tare conexe
            -componenta tare conexa careia ii apartine un varf
            -numarul de componente tare conexe
            -graf tare conex

            Exercitii propuse:
           
a) Dandu-se un graf orientat sa se determine componenta tare conexa careia ii apartine un varf. Program. Exemplificare
            b) Dandu-se un graf orientat sa se determine daca este tare conex. Program. Exemplificare

2.Grafuri  neorientate
-notiuni :
            -muchie, nod, graf partial, subgraf, grad nod
            -lant, lungime lant, lant elementar
            -ciclu, ciclu elementar
            -circuit hamiltonian, graf hamiltonian
            -graf eulerian

Exercitii propuse:
a) Dandu-se un graf neorientat identificati notiunile anterioare.
b) Desenati un graf in care sa evidentiati notiunile anterioare

-metode de memorare:
            -matricea de adiacenta
            -lista de adiacenta

Exercitii propuse:
a) Dandu-se un graf neorientat identificati notiunile anterioare.
b) Desenati un graf in care sa evidentiati notiunile anterioare
c) Sa se memoreze un graf neorientat utilizand matricea de adiacente sau lista de adiacente (citire de la tst sau din fisier). Program.
d) Din matricea de adiacente sa se determine: gradul unui nod, nodurile izolate

-metode de parcurgere:
            -parcurgere in latime
            -parcurgere in adancime

Exercitii propuse:
a) Dandu-se un graf neorientat sa se parcuga bf sau df (succesiune de varfuri parcuse)
b) Parcurgere bf sau df ( recursiv, graful memorat prin matrice). Program.

-componente  conexe
            -componenta conexa careia ii apartine un nod
            -numarul de componente  conexe
            -graf  conex

            Exercitii propuse:
           
a) Dandu-se un graf neorientat sa se determine componenta  conexa careia ii apartine un nod. Program. Exemplificare
            b) Dandu-se un graf neorientat sa se determine daca este  conex. Program. Exemplificare

3.Arbori si arborescente

Arbori

-notiuni:
        -radacina
        -ascendent, descendent, frunze
        -adancimea unui arbore
        -conditia ca un graf neorientat sa fie arbore

-metode de memorare:
   
    -matrice de adiacente
        -liste
        -vector de tip tata

-metode de parcurgere:
            -parcurgere in latime
            -parcurgere in adancime
            -parcurgere utilizand vectorul tata si functia drum( )

Exercitii propuse:
            Exemplificari pe un arbore a notiunilor precedente
            Prelucrari pe niveluri utilizand functia drum( ). Program
            Prelucrari incepand de la un nod pana la radacina utilizand functia drum( ). Program

 

Arborescente

-notiuni:
        -radacina
        -ascendent, descendent, frunze
        -adancimea unei arborescente
        -conditia ca un graf orientat sa fie arborescenta

-metode de memorare:
   
    -matrice de adiacente
        -liste
        -vector de tip tata

-metode de parcurgere:
            -parcurgere in latime
            -parcurgere in adancime
            -parcurgere utilizand vectorul tata si functia drum( )

Exercitii propuse:
            Exemplificari pe o arborescenta a notiunilor precedente
            Prelucrari pe niveluri utilizand functia drum( ). Program
            Prelucrari incepand de la un nod pana la radacina utilizand functia drum( ). Program

Arbori binari

-notiuni:
        -notiunea de arbore binar
        -descendenti: stang, drept
        -subarbori: stang, drept

-metode de memorare:
   
    -matrice de adiacente
        -liste
        -vector de tip tata
        -memorare cu ajutorul a 2 vectori (stang si drept)
        -memorare in heap

-metode de parcurgere:
            -parcurgere in latime
            -parcurgere in adancime
            -parcurgere utilizand vectorul tata si functia drum( )
            -parcurgeri specifice: in inordine, in postordine, in preordine

Exercitii propuse:
            Exemplificari pe un arbore binar a notiunilor precedente

Probleme propuse:

1. Dintr-un fisier se citesc n denumirile a n localitati. Din fisier se citesc perechile de localitati intre care exista drum direct. Sa se detrmine daca exista drum (direct sau nu)  intre doua localitati citite de la tastatura.

Ex. Date de intrare:
5
loco1 loco2 loco3 loco4 loco5 loco6
1 2
2 3
1 3
4 5

Pentru: loco1 loco5 se afiseaza  "nu exista drum"
Pentru loco1 loco3 se afiseaza "exista drum"

2.  Un graf neorientat este bipartit daca exista o partitie a multimii nodurilor in doua multimi A si B astfel incat oricare doua varfuri din aceeasi multime sa nu fie adiacente. Sa se scrie un program care verifica daca un graf este bipartit si in caz afirmativ sa se tipareasca multimile A si B

3. Intr-un fisier sunt memorate  numele a n persoane. Intre cele n persoane se stabileste o relatie de ierarhie (in varful ierarhiei exista o singura persoana) . In fisier sunt scrie pe prima linie n, pe linia a doua cele n nume iar pe linia a treia vectorul de tip tata asociat.
a) sa se afiseze persoanele care nu au subordonati
b)sa se afiseze persoana din varful ierarhiei
c) sa se afiseze toti sefii (directi sau indirecti ai unei personei)
d) pe cate niveluri este organizata ierarhia

4.  Intr-un fisier sunt memorate n numere naturale. Intre cele n numere se stabileste o relatie de tip arbore oarecare. In fisier sunt scrie pe prima linie n, pe linia a doua cele n valori iar pe linia a treia vectorul de tip tata asociat.
a) sa se determine adancimea arborelui (se considera radacina pe nivelul 0)
b) sa sa afiseze nodurile de pe nivelul x si numerele asociate
c) sa se determine suma cifrelor numerelor asociate de pe nivelul y
d) sa se determine pe ce nivel se gaseste numarul z
e) Sa se se afiseze numerele prime  asociate arborelui pe linie ascendenta  incepand de la un nod pana la radacina. Numarul de ordine al nodului de pornire se citeste de la tastatura. 

Exemplu:

7

12 14 13 25 43 82 21 cele 7 numere

0 1 1 3 3 1 5

se citeste nodul 7

Se afiseaza 43 13

5.Sa se reprezinte un arbore binar utilizand heap-ul si sa se parcurga  (inordine, preordine, postordine).

6.Sa se reprezinte un arbore binar utilizand heap-ul si sa se parcurga  (inordine, preordine, postordine). Fiecare nod are asociat un numar de ordine si informatia utila un numar intreg.
a) sa se determine suma cheilor (numerelor asociate)
b) sa se caute o valoare. Sa se afiseze un mesaj daca valoarea se gaseste
c) sa se determine valoarea minima a  cheilor asociate
d)sa se afiseze cheile impare ale unui arbore binar. Cate sunt?
e) se calculeze produsul cheilor pozitive ale unui arbore binar
f) sa se afiseze subordonatii stangi
h) sa se afiseze subordonatii lui x

7. Determinati si afisati frunzele unui arbore binar. Cate sunt? Care este suma numerelor de ordine?

8. Fie doi arbori binari memorati static (se utilizeaza doi vectori: stang si drept). Sa se determine daca cei doi arbori binari sunt egali.

9. Sa se afiseze nodurile dintr-un arbore binar care au exact un succesor.

10. Sa se determine daca un arbore binar este echilibrat (nodurile neterminale au exact 2 succesori).

11. Sa se afiseze toti descendentii stanga ai unui arbore binar.

12. Sa se inlocuiasca intr-un arbore binar cheia x cu cheia y.

13. Fie un graf orientat memorat prin m.a. Se stie ca graful reprezinta o arborescenta. Sa se determine daca arborescenta este arbore binar. In caz afirmativ sa se determine radacina.

14. Sa se determine numarul cromatic al unui graf neorientat (numarul minim de culori cu care poate fi colorat graful astfel incat oricare doua noduri adiacente sa nu aiba aceeasi culoare). Sa se genereze toate posibilitatile de colorare a grafului