|
Texnologiyalari ha’m kommunikatsiyani rawajlandiriw ministirligi muxammed al-xorezmiy atindag’i tashkent informatsiyaliq texnologiyalari universiteti
|
bet | 3/4 | Sana | 14.12.2022 | Hajmi | 0.88 Mb. | | #34815 |
Bog'liq O\'z betinshe jumis Shukirallaev Ixlas Graflardi ańlatıw usılları AahmedzhanovaE0
|
E1
|
E2
|
E3
|
E4
|
E5
|
E6
|
E7
|
E8
|
0
|
1
|
1
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
0
|
0
|
1
|
1
|
1
|
0
|
0
|
0
|
0
|
2
|
0
|
0
|
1
|
0
|
0
|
1
|
1
|
0
|
0
|
3
|
0
|
1
|
0
|
0
|
0
|
1
|
0
|
1
|
0
|
4
|
1
|
0
|
0
|
1
|
0
|
0
|
0
|
0
|
1
|
5
|
0
|
0
|
0
|
0
|
1
|
0
|
1
|
1
|
1
|
Algorithm
add_edge (ol, v)
Kirisiw - shettiń ol hám v {u, v}
Shıǵıw - G qanasınıń incedence matritsasi
Daslep, incidene matritsasi ushın ed_cnt 0 ge teń shet esaplaw bar.
#include
using namespace std;
int inc_arr[20][20]; // incidence matritsasini ustap turıw ushın dáslepki dızbek
int ed_no = 0;
void displayMatrix (int v, int e) {
int i, j;
for (i = 0; i < v; i++) {
for (j = 0; j < e; j++) {
cout << inc_arr[i][j] << " ";}
cout << endl;}}
void add_edge (int ol, int v) { // shet nomeri menen matritsaga shet qosıw funktsiyası
inc_arr[u][ed_no] = 1;
inc_arr[v][ed_no] = 1;
ed_no++; // shet nomerin asırıw
}
main (int argc, char* argv[]) {
int v = 6 ; // qanada 6 tóbelik ámeldegi
int e = 9 ; // qanada 9 shet ámeldegi
add_edge (0, 4);
add_edge (0, 3);
add_edge (1, 2);
add_edge (1, 4);
add_edge (1, 5);
add_edge (2, 3);
add_edge ();
add_edge (5, 3);
add_edge (5, 4);
displayMatrix (v, e);
}
Qońsılıq (qońsılas túyinler) dizimi - bul A[n] dızbek bolıp, A[i] xar bir elementi i túyin menen qońsılas túyinler dizimin ózinde saqlaydı.
Qońsılıq (qońsılas túyinler) dizimi qolaylıq tárepleri tómendegilerde:
Ámeldegi (berilgen) túyinge qońsılas túyindi izlew;
Túyin yamasa qır (ayqulaq) larni qushish;
Siyrek graflar menen islew.
Qońsılıq (qońsılas túyinler) dizimi qolaysızlıqları bolsa tómendegishe:
Qır (ayqulaq) dıń bar ekenligin tekseriw;
Túyin yamasa qır (ayqulaq) larni óshiriw.
Adjacency List
Tómende grafik hám oǵan teń keletuǵın qońsılas dizimdiń kórgezbesi kórsetilgen.
// Adjascency List C++
#include
using namespace std;
// shet qosıw
void addEdge (vector adj[], int s, int d) {
adj[s].push_back (d);
adj[d].push_back (s);}
// Grafiktı baspadan shıǵarıń
void printGraph (vector adj[], int v) {
for (int d = 0; d < v; ++d) {
cout << " \n Tóbelik "
<< d << ":";
for (auto x : adj[d])
cout << "-> " << x;
printf (" \n");}}
int main () {
int v = 5;
// Grafik jaratıw
vector adj[v];
// Qırlardıń qosıw
addEdge (adj, 0, 1);
addEdge (adj, 0, 2);
addEdge (adj, 0, 3);
addEdge (adj, 1, 2);
printGraph (adj, v);
}
Qırlar dizimi - qırlardıń qońsılas túyinler juplıqlarınan ibarat sızıqlı dizim bolıp tabıladı.
Qońsılıq (qońsılas túyinler) dizimi qolaylıq tárepleri tómendegilerde:
Qır (ayqulaq) larni qushish yamasa óshiriw;
Ayqulaqlardıń júkleniwi boyınsha tártiplew;
Siyrek graflar menen islew.
Qońsılıq (qońsılas túyinler) dizimi qolaysızlıqları bolsa tómendegishe:
Túyin hám qır (ayqulaq) dıń qońsılaslıǵın anıqlaw ;
Berilgen túyinge intsidient qır (ayqulaq) larni tańlaw.
Grafni qońsılas dizim degi qosıw hám alıp taslaw
Tómende grafik jáne onıń qońsılas dizimi kórsetilgen:
Eger 1 hám 4 arasındaǵı shetti alıp taslaw kerek bolsa, joqarıdaǵı grafik hám qońsılas dizim tómendegine aylanadı :
Jantasıw : Ideyanı grafikanı vektorlar qatarı retinde kórsetiw bolıp tabıladı, sonda hár bir vektor tóbeliktiń qońsılas dizimin sáwlelendiredi.
Shegaranı qosıw : shet qosıw sol shet menen baylanısqan eki tóbelikti bir-biriniń dizimine kirgiziw arqalı ámelge asıriladı. Mısalı, (ol, v) arasındaǵı shet qosılıwı kerek bolsa, ol v dıń vektorlar diziminde hám v ol dıń vektorlar diziminde saqlanadı. (Keyin basıp jıljıtıw )
Shegaranı óshiriw: (ol, v) arasındaǵı shetti óshiriw ushın ol dıń qońsılas dizimi v tapilguncha hám odan óshirilguncha ótedi. Tap sol ámel v. (Óshiriw) ushın da ámelge asıriladı.
// Joqarıdaǵı jantasıwdı C ++ programmasında ámelge asırıw
#include
using namespace std;
// ga shet qosıw ushın járdemshi funktsiya
// jóneltirilmagan grafik.
void addEdge (vector adj[], int ol, int v) {
adj[u].push_back (v);
adj[v].push_back (ol);}
// an-dagi shetti óshiriw ushın járdemshi funktsiya
// jóneltirilmagan grafik.
void delEdge (vector adj[], int ol, int v) {
// Birinshi vektor dizimi arqalı ótiw
// hám odan ekinshi elementti alıp taslaw
for (int i = 0; i < adj[u]. size (); i++) {
if (adj[u][i] == v) {
adj[u]. erase (adj[u]. begin () + i);
break;}}
// Ekinshi vektor dizimi arqalı ótiw
// hám odan birinshi elementti alıp taslaw
for (int i = 0; i < adj[v]. size (); i++) {
if (adj[v][i] == ol) {
adj[v]. erase (adj[v]. begin () + i);
break;}}}
// Qońsılas dizimdi baspadan shıǵarıw ushın járdemshi funktsiya
// qananı sáwlelendiriw
void printGraph (vector adj[], int v) {
for (int v = 0; v < v; ++v) {
cout << " vertex " << v << " ";
for (auto x : adj[v])
cout << "-> " << x;
printf (" \n");}
printf (" \n");}
int main () {
int v = 5;
vector adj[v];
// Mısal suwretde kórsetilgen sıyaqlı shet qosıw
addEdge (adj, 0, 1);
addEdge (adj, 0, 4);
addEdge (adj, 1, 2);
addEdge (adj, 1, 3);
addEdge (adj, 1, 4);
addEdge (adj, 2, 3);
addEdge (adj, 3, 4);
// adjacency matrix shıǵarıw
printGraph (adj, v);
// edge ni óshiriw (1, 4)
// mısal suwretde kórsetilgen sıyaqlı
delEdge (adj, 1, 4);
// adjacency matrix ni shıǵarıw
printGraph (adj, v);
return 0;}
|
|
Bosh sahifa
Aloqalar
Bosh sahifa
Texnologiyalari ha’m kommunikatsiyani rawajlandiriw ministirligi muxammed al-xorezmiy atindag’i tashkent informatsiyaliq texnologiyalari universiteti
|