Oʼzbekiston respublikаsi аxborot texnologiyalаri vа kommunikаtsiyalаrini rivojlаntirish vаzirligi muhаmmаd аl-xorаzmiy nomidаgi toshkent аxborot texnologiyalаri universiteti algoritmlarni loyihalash fanidan



Download 117,14 Kb.
Sana27.02.2021
Hajmi117,14 Kb.
#60401
Bog'liq
Algoritm graflar 9-10


OʼZBEKISTON RESPUBLIKАSI АXBOROT TEXNOLOGIYALАRI VА KOMMUNIKАTSIYALАRINI RIVOJLАNTIRISH VАZIRLIGI

MUHАMMАD АL-XORАZMIY NOMIDАGI TOSHKENT АXBOROT TEXNOLOGIYALАRI UNIVERSITETI

Algoritmlarni loyihalash fanidan

Laboratoriya ishi

Mavzu : Minimal skeletli daraxtlar. Grafning bir uchidan barcha uchlarigacha bo'lgan eng qisqa yo'l.

Bajardi: Rasulova Dilshoda

Tekshirdi: Atoev Suhrob

Toshkent 2020

Graph og`irligi va elementlari orasidagi masofa:

Dastur kodi:

#include

using namespace std;

# define INF 0x3f3f3f3f

typedef pair iPair;

class Graph

{

int V;



list< pair > *adj;

public:


Graph(int V);

void addEdge(int u, int v, int w);

void shortestPath(int s);

};


Graph::Graph(int V)

{

this->V = V;



adj = new list [V];

}

void Graph::addEdge(int u, int v, int w)



{

adj[u].push_back(make_pair(v, w));

adj[v].push_back(make_pair(u, w));

}

void Graph::shortestPath(int src)



{

priority_queue< iPair, vector , greater > pq;

vector dist(V, INF);

pq.push(make_pair(0, src));

dist[src] = 0;

while (!pq.empty())

{

int u = pq.top().second;



pq.pop();

list< pair >::iterator i;

for (i = adj[u].begin(); i != adj[u].end(); ++i)

{

int v = (*i).first;



int weight = (*i).second;

if (dist[v] > dist[u] + weight)

{

dist[v] = dist[u] + weight;



pq.push(make_pair(dist[v], v));

}

}



}

printf("Og`irligi masofa uchlari orasidagi\n");

for (int i = 0; i < V; ++i)

printf("%d \t\t %d\n", i, dist[i]);

}

int main()



{

int V = 9;

Graph g(V);

g.addEdge(0, 1, 4);

g.addEdge(0, 7, 8);

g.addEdge(1, 2, 8);

g.addEdge(1, 7, 11);

g.addEdge(2, 3, 7);

g.addEdge(2, 8, 2);

g.addEdge(2, 5, 4);

g.addEdge(3, 4, 9);

g.addEdge(3, 5, 14);

g.addEdge(4, 5, 10);

g.addEdge(5, 6, 2);

g.addEdge(6, 7, 1);

g.addEdge(6, 8, 6);

g.addEdge(7, 8, 7);

g.shortestPath(0);

return 0;

}

Dastur natijasi:





Nazorat savollar:

1. Qanday grafga daraxt deyiladi?

2. 0‘rmon deb nimaga aytiladi?

3. 0‘rmon bilan daraxt bir-biridan nimasi bilan farq qiladi?

4. Daraxtning uchlari va qirralari sonlari orasida qanday bog‘lanish bor?

Daraxt va unga ekvivalent tushunchalar. Siklga ega bo‘lmagan oriyentirlanmagan bog‘lamli graf daraxt, deb ataladi1. Ta’rifga ko‘ra, daraxt sirtmoqlar va karrali qirralarga ega emas. Siklga ega bo‘lmagan oriyentirlanmagan graf о ‘rmon (asiklik graf), deb ataladi.

Beshta uchga ega bir-biriga izomorf bo‘lmagan barcha daraxtlar uchta, oltita uchga ega bunday barcha daraxtlar esa oltita ekanligini ko‘rsatish qiyin emas.

Daraxt tushunchasiga boshqacha ham ta’rif berish mumkin. Umuman olganda, G(tn,n)-graf uchun daraxtlar haqidagi asosiy teorema, deb ataluvchi quyidagi teorema o‘rinlidir.

1-teorema. Uchlari soni m va qirralari soni n bo ‘Igan G graf uchun quyidagi tasdiqlar ekvivalentdir:

1) G daraxtdir;

2) G asiklikdir va n=m—l ;

3) G bog‘lamlidir va n=m— 1;

4) G bog ‘lamlidir va undan istalgan qirrani olib tashlash amalini qo‘llash natijasida bog‘lamli bo‘Imagan graf hosil bo‘ladi, y a ’ni G ning har bir qirrasi ко ‘prikdir;

5) G grafning o ‘zaro ustma-ust tushmaydigan istalgan ikkita uchi faqat bitta oddiy zanjir bilan tutashtiriladi;

6) G asiklik bo ‘lib, uning qo ‘shni bo ‘Imagan ikki uchini qirra bilan tutashtirish amalini qo‘llash natijasida faqat bir siklga ega bo ‘Igan graf hosil bo ‘ladi.

Isboti. Teoremaning 1) tasdig‘idan uning 2) tasdig‘i kelib chiqishini isbotlaymiz. G graf daraxt bo‘lsin. Daraxtning ta’rifiga ko‘ra, u asiklik bo‘lishini ta’kidlab, m bo‘yicha matematik induksiya usuUni qo‘llaymiz.

Matematik induksiya usulining bazasi: agar m— 1 bo‘lsa, u holda G daraxt faqat bitta uchdan tashkil topgan bo‘ladi. Tabiiyki, agar bitta uchga ega bo‘lgan grafda sikl bo‘lmasa, u holda unda birorta ham qirra yo‘q, ya’ni n=0. Demak, bu holda tasdiq to‘g‘ridir.

Induksion o‘tish: G daraxt uchun k> 2 va m=k bo‘lganda, 2) tasdiq o‘rinli bo‘lsin deb faraz qilamiz. Endi uchlari soni m=k+ 1 va qirralari soni n bo‘lgan daraxtni qaraymiz. Bu daraxtning ixtiyoriy qirrasini (v,, v2) bilan belgilab, undan bu qirrani olib tashlasak, vt uchdan v2 uchgacha marshruti (aniqrog‘i, zanjiri) mavjud bo‘lmagan grafni hosil qilamiz, chunki agar hosil bo‘lgan grafda bunday zanjir bor bo‘lsa edi, u holda G daraxtda sikl topilar edi. Bunday bo‘lishi esa mumkin emas.

Hosil bo‘lgan graf ikkita Gx va G2 bog‘lamli komponentalardan iborat bo‘lib, bu komponentalaming har biri daraxtdir. Yana shuni ham e’tiborga olish kerakki, Gx va G2 daraxtlaming har biridagi uchlar soni к dan oshmaydi.

Matematik induksiya usuliga ko‘ra, bu daraxtlaming har birida qirralar soni uning uchlari sonidan bitta kam b o ‘lishini ta’kidlaymiz, ya’ni G{ graf (m, n)-graf bo‘lsa, quyidagi tengliklar o ‘rinlidir: /i=/jj+w2+ l, k + l= m l+m 1 va n=m — 1 (/=1,2). Bu tengliklardan

n=a1+n2+ l= m l—l+ m 2—1 + 1= (m,+/n2)—1 = (fc+l)—1

bo‘lishi kelib chiqadi. Demak, m=k+ 1 bo‘lganda ham n=m— I tenglik o‘rinlidir. Bu esa, matematik induksiya usuliga ko‘ra, kerakli tasdiqning isbotlanganligini anglatadi.

Minimal uzunlikka ega y o ‘l haqidagi masala. Berilgan bog‘lamli grafning har bir qirrasiga (agar berilgan graf oriyentirlangan bo‘lsa — yoyiga) qandaydir haqiqiy son mos qo‘yib, bu sonni qirraning (yoyning) uzunligi, deb ataymiz. Qirraning (yoyning) uzunligi additivlik xossasiga ega deb faraz qilamiz, ya’ni qirralar (yoylar) yordamida tuzilgan zanjiming (yo ‘Ining) uzunligi shu zanjimi (yo‘lni) tashkil etuvchi qirralar (yoylar) uzunliklari yig‘indisiga tengdir.

Tabiiyki, qirraning yoki yoyning uzunligi tushunchasi yechilayotgan masalaning mohiyatiga qarab, muayyan bir ma’noga ega bo‘lishi mumkin. Masalan, ikki shahar orasidagi masofa, qandaydir operatsiyani bajarish uchun zarur mablag‘ (xarajatlar) yoki vaqt va boshqalar. Shu nuqtayi nazardan, umuman olganda, bu yerda manfiy uzunlikka ega yoki uzunligi nolga teng qirra (yoy) ham ma’noga ega deb hisoblanadi.



Xulosa:

Men bu labaratorya ishida o`rmon bilan darxt farqini, daraxtning uchlari va qirralari sonlari orasida qanday bog`lanish borligini o`rgandim.

Download 117,14 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish