Sei sulla pagina 1di 15

GRAFURI NEORIENTATE

Competene

Competen general :
Identificarea i clasificarea unor tipuri de structuri de
date
Competen specific:
Identificarea i clasificarea unor structuri de date
adecvate rezolvrii unor probleme specifice
Obiective educaionale
Obiective cognitive
s defineasc corect noiunile legate de grafuri neorientate;
s aplice corect noiunile studiate, n aplicaii concrete;
Obiective afective
formarea convingerii ca utilizarea corect a grafurilor neorientate
permite scrierea eficient a programelor;
s se autoevalueze n raport cu obiectivele sau cu clasa;
Obiective psihomotorii
s utilizeze corect noiunile teoretice nsuite
s implementeze algoritmi cu ajutorul grafurilor neorientate
Obiective operaionale:
s-i nsueasc noiunile nod/vrf, muchie, adiacen, inciden, grad,
matrice de adiacen i s le utilizeze corect pentru nelegerea unor
exemple
s analizeze dac se pot aplica aceste noiuni n rezolvarea de probleme
CONINUTUL TIINIFIC AL LECIEI
Definiii:
1) Se numete graf neorientat, o pereche ordonat de mulimi notat G=(V, M) unde:
V: este o mulime finit i nevid, al crei elemente se numesc noduri sau vrfuri;
M: este o mulime, de perechi neordonate de elemente distincte din V, ale crei
elemente se numesc muchii.
2) Dac ntr-un graf neorientat exist muchia m=[x, y], se spune despre nodurile x i y c
sunt adiacente;
3) Se numete graf neorientat o pereche ordonat de mulimi (X, U), X fiind o mulime finit
i nevid de elemente numite noduri sau vrfuri, iar U o mulime de perechi neordonate (
submulimi cu dou elemente) din X, numite muchii.
4) Un graf parial al grafului G=(X,U) este un graf G1=(X,V) astfel nct V inclus n U, adic G1
are aceeai mulime de vrfuri ca G iar mulimea de muchii V este chiar U sau o submulime
a acesteia.
5) Un subgraf al unui graf G=(X,U) este un graf H=(Y,V) astfel nct Y inclus n X iar V
conine toate muchiile din U care au ambele extremiti n Y. Vom spune c subgraful H este
indus sau generat de mulimea de vrfuri Y.
Observaii: 1. Dac gradul unui vrf este zero, vrful respectiv se numeste vrf izolat.
2. Dac gradul unui vrf este unu, vrful respectiv se numeste vrf terminal.
6) Secvena de citire a unei matrice de adiacen

cout<<Dati ordinul matricei de adiacenta;


cin>>n;
for( i=1;i<=n;i++) {se parcurg liniile}
for( j=1;j<= n;j++) {se parcurg coloanele}
{cout<<a[<<i<<][<<j<<]=;
cin>>a[i][j];}
GRAF NEORIENTAT

Graf neorientat:
Ex.

2
6
1 +8
3
5

4 7
Fig.1

Pentru graful de mai sus avem:


X={1, 2, 3, 4, 5, 6, 7, 8}
U={[1,2], [1,4], [1,5], [2,3], [2,5], [3,4], [6,7]}
GRAF PARIAL

Graf parial:

Ex. Mai jos avem un graf parial al grafului de mai sus (Fig.1)
2 6
+8
1

5 +3

4
Fig.2
SUBGRAF

Subgraf :

Ex. Mai jos avem un subgraf al grafului din Fig.1 obinut prin eliminarea nodului 3

2 6
+8
1
5

4
DESFURAREA ACTIVITII

Moment organizatoric:
*pregtirea leciei: -realizez proiectul didactic;
-pregtesc setul de ntrebri;
-pregtesc setul de aplicaii;
-pregtesc tema;
*organizarea si pregtirea clasei:
-verific frecvena
-captarea ateniei clasei:
- anun subiectul pentru tema respectiva si
obiectivele urmrite;
- anun modul de desfurare a activitii
Reactualizarea cunotinelor
NR INTREBARE RASPUNS ASTEPTAT
1 Din punct de vedere al unui Din punct de vedere al unui programator, memoria unui calculator
programator, cum se se reprezint sub forma unei succesiuni de octei.
reprezint memoria unui
calculator?
2 Definii o variabil pointer? O variabil pointer este o variabil care are capacitatea de a reine
adresa unei locaii de memorie; variabilele obinuite reineau
coninutul unor locaii de memorie.
3 Care este efectul urmtoarei
secvene de program: -p1 este o variabil, de tipul pointer spre intreg, care are
int p1; capacitatea de a reine adrese de variabile de tipul ntreg

p1=new int; -se aloc spaiu la adresa reinut de p1


p1=10; -ncrcarea n zona rezervat a valorii 10;
cout<<p1; -afiarea coninutului zonei de la adresa reinut de variabila
pointer p1
delete p1; -eliberarea zonei de memorie a crei adres este reinut de
variabila pointer p1
4 Definii stiva i coada; Se numete stiv o list simplu, sau dublu nlnuit n care toate
intrrile i ieirile se fac la un singur capt al ei.
Se numete coad o list simplu, sau dublu nlnuit n care
intrrile se fac la un capt i ieirile se fac la cellalt capt al ei.
Comunicarea de noi cunotine
Definiii:
1) Se numete graf neorientat, o pereche ordonat de mulimi notat G=(V, M) unde:
V: este o mulime finit i nevid, al crei elemente se numesc noduri sau vrfuri;
M: este o mulime, de perechi neordonate de elemente distincte din V, ale crei
elemente se numesc muchii.

2) Dac ntr-un graf neorientat exist muchia m=[x, y], se spune despre nodurile x i y c
sunt adiacente;
Exemplu exist muchia [1,2], nodurile 1, 2 sunt adiacente

1
4

3 3

3) Dac m1 i m2 sunt dou muchii ale aceluiai graf, se numesc incidente dac au o
extremitate comun; Exemplu: m1=[x,y] i m2=[y,z] sunt incidente

4) Fie G=(V,M) un graf neorientat i x un nod al su. Se numete grad al nodului x,


numrul muchiilor incidente cu x, notat d(x).

Exemplu: Fie G=(V, M) unde V={1,2,3,4}


M={[1,2],[2,3],[1,4],[1,3]}
Observaii: 1. Dac gradul unui vrf este zero, vrful respectiv se numeste vrf izolat.
2. Dac gradul unui vrf este unu, vrful respectiv se numeste vrf terminal.

5) Secvena de citire a unei matrice de adiacen


Aplicaie introductiv
1. Fie G un graf neorientat, cu n vrfuri i m muchii, reprezentat prin matricea de adiacen.
S se realizeze un program n C++, care afieaz gradele tuturor vrfurilor.

#include<iostream>
using namespace std;
int a[10][10];
int i, j, n;
bool ok;
{- a determina gradul varfului i, inseamna a determina numarul elementelor
care au valoarea 1 si se gasesc pe linia i in matricea de adiacenta}

void grad(int i){ {returneaza gradul varfului i}


int s,j;
s=0;
for( j=1;j<=n;j++) s=s+a[i][j];
return 1;}

int main(){
cout<<Dati ordinul matricei de adiacenta);cin>>n;
for( i=1;i<=n-1;i++) {se citesc toate valorile elementelor}
for( j=i+1;j<=n;j++) {de deasupra diagonalei principale}
{si se transfera si sub diagonala principala}
cout<<a[<<i<<][<<j<<];
cin>>a[i][j];
a[j][i]=a[i][j];{matricea de adiacenta este simetrica fata de diagonala}
{principala}
for (i=1;i<=n;i++)
cout<<varful << i<< are gradul<< grad(i);
}
Dirijarea nvrii pentru obinerea
performanei

Funcii exercitate Activiti ale leciei Metode


de evenimentul
instrucional
Reactualizarea cunotinelor Se face prin chestionarul cu Conversaia de fixare
ntrebri conform tabelului
nr.1
Intensificarea reinerii i Se face cu testul propus Exerciiul introductiv;
asigurrii conform tabelului nr.2 Conversaia de consolidare;
transferului de informaii
Obinerea performantei Se realizeaz cu aplicaia Problematizarea;
introductiv, prin care se Exerciiul de consolidare;
urmrete nelegerea
noiunilor.
Evaluarea performanei Se propune un set de dou Problematizarea;
aplicaii urmrindu-se scrierea Asaltul de idei
corect a programelor.
EVALUAREA PERFORMANEI

Pentru asigurarea feedback-ului i evaluarea performanei


propun spre rezolvare urmtoarele probleme:

1. Scriei secvena de program care afieaz vrfurile izolate


dintr-un graf neorientat cu n vrfuri i m muchii.

2. Scriei secvena de program care afieaz vrfurile


terminale dintr-un graf neorientat cu n vrfuri i m muchii.
V MULUMESC!

Potrebbero piacerti anche