logo

Graflarni kampyuter xotirasida aks ettirish

Yuklangan vaqt:

12.08.2023

Ko'chirishlar soni:

0

Hajmi:

506.7431640625 KB
Mavzu: “Graflarni kampyuter xotirasida aks ettirish”
MUNDARIJA:
I  Kirish.
II Asosiy qisim.
Graf haqida malumot.
    2. Grafik asoslari.
    3. Grafiklarni ifodalash.
4. Graflarni kapyuter xotirasida aks ettirish.
5. masalalar.
III Xulosa.
IV Foydalanilgan adabiyotlar. KIRISH:
Graf   -   bu   murakkab   chiziqsiz   ko'pbog'lamli   dinamik   tuzilma   bo'lib,   murakkab
ob'ektlarning xususiyatlari va munosabatlarini aks ettiradi.
Ob'ektlar   tugun   yoki   graf   uzellari   ko'rinishida   va   munosabatlar   yoy   yoki
yo'naltirilgan qirralar kabi ifodalanadi.
«Graf»   tushunchasini   birinchi   marotaba   1936   yil   vengriya   matematigi   Denni
Kyonig  kiritgan.  Lekin  graflar   nazariyasi   bo'yicha   1-ish  Leonard  Eylerga  tegishli
bo'lgan va u 1736 yilda bajarilgan edi.
XVIII   asrda   mashhur   shvetsariyalik   matematik,   mexanik   va   fizik   Leonard   Eyler
(1707-1783   yy)   Kyonigsberg   ko’prigi   haqidagi   masalani   yechish   uchun   birinchi
marta graf tushunchasidan foydalanadi.
II.Asosiy qisim.
1.Graflar turlari.
Graf   turlari   Graf   -   bu   abstrakt   obyekt   bo lib,   uchlar   to plami   (tugunlar)   vaʻ ʻ
qirralarning   to plami   -   uchlar   juftliklari   orasidagi   bog lanishlardan   tashkil   topadi	
ʻ ʻ
(ulanishlar).   Graf   mavzusi   juda   keng.   Graflar   diskret   matematikaning   o rganish	
ʻ
mavzusidir (bu yerda graf tushunchasining aniqroq ta‘rifi berilgan). Graf murakkab
tuzilgan   ma‘lumotni   tavsiflash   uchun   ishlatiladi   va   shuning   uchun   katta   amaliy
ahamiyatga   ega.   Matematikada   graflar   paydo   bo lishiga   Eyler   asarlari   yordam	
ʻ
berdi.   Graflar   bilan   qayerda   uchrashamiz?   Ehtimol,   ular   bilan   qayerda
uchrashmasligimizni   aytish   osonroq.   Ya‘ni   biz   graflarda   juda   ko p   holatda	
ʻ
uchratamiz.   Misol   qilib   quyidagilarni   keltirishimiz   mumkin:     Lokal   yoki   global
tarmoq   modeli     Algoritmlarning   blok-sxemasi     Elektr   sxemalar   81     Oila   daraxti
(Shajara)     Metro   xaritasi     Ma‘lumotlar   bazasi   modeli   Aqlli   xaritalar   va   boshqa
ko plab   sohalarda   qo llanilib   kelmoqda.   Ushbu   darsda   butun   graflar   nazariyasini	
ʻ ʻ
olish   mumkin   emas.   Shuning   uchun   qisqacha   ma‘lumotlarni   keltirib   o tamiz.   G	
ʻ
graf - G: = (V, E) tartiblangan juftlik, bu yerda 2
V   -   uchlarning   (yoki   tugunlarning)   bo sh   bo lmagan   to plami,   E   esa   qirralar   deb	
ʻ ʻ ʻ
nomlangan uchlarning juftlari  to plamidir. Grafning uchlari  va qirralari  (ular  graf	
ʻ
elementlari deb ataladi), grafdagi uchlar soni | V | - graf tartibi, qirralarning soni | E
| - graf hajmi deb ataladi.
Grafik asoslari
Grafikni   ob'ektlar   o'rtasidagi   munosabatlarni   tasvirlash   uchun   ishlatiladigan
ma'lumotlar   tuzilmasi   sifatida   ko'rish   mumkin.   Ob'ekt   o'ziga   xos   va   mustaqil
mavjudlikka ega bo'lgan har  qanday  ob'ekt  bo'lishi  mumkin.   Bu haqiqiy jismoniy ob'ekt   yoki   mavhum   g'oya   bo'lishi   mumkin.   Masalan,   tashkilot   ma'lumotlar
saqlanishi mumkin bo'lgan shaxs, joy yoki tashkilot bo'lishi mumkin.
Hisoblash dunyosida grafiklar nafaqat real hayotga abstraktsiyalarni  taqdim etish,
balki   murakkab   munosabatlarni   osonlik   bilan   namoyish   qilish   qobiliyati   tufayli
hamma joyda paydo bo'ldi.   Shunday qilib, turli xil amaliy muammolarni grafiklar
sifatida   ko'rsatish   mumkin.   Masalan,   veb-saytlarning   bog'langan   tuzilishini   grafik
sifatida ko'rish mumkin.
Har bir grafik chekkalar   deb ataladigan chiziqlar yordamida bog'langan   cho'qqilar
yoki tugunlar   deb ataladigan nuqtalar to'plamidir   .   Cho'qqilar grafikdagi ob'ektlarni
ifodalaydi.   Boshqa   tomondan,   qirralar   ob'ektlar   o'rtasidagi   munosabatlarni
ifodalaydi.   Demak,   tugunlar   ob'ektlarni   modellashtirganda,   qirralar   tarmoq
grafigidagi   munosabatlarni   modellashtiradi.   E   qirralar   to'plami   bilan
birga   V   uchlari   to'plamiga   ega   bo'lgan   G   grafigi   G   =   (V,   E)   shaklida
ifodalanadi   .   Ikkala   cho'qqi   ham,   qirralar   ham   ob'ektlar   va   munosabatlarni
tavsiflash   uchun   ishlatiladigan   qo'shimcha   atributlarga   ega   bo'lishi   mumkin.   1-
rasmda beshta tugun va oltita qirrali oddiy grafik tasvirlangan.
Grafiklarning   haqiqiy   dunyo   ilovalarida   chekka   LinkedIndagi   odamlar   o'rtasidagi
professional   munosabatlar   yoki   Facebook   yoki   Instagram   kabi   ijtimoiy   media
platformasidagi shaxsiy munosabatlarni ifodalashi mumkin. Grafiklarni   umuman   yo'naltirilmagan   (2a-rasm)   yoki   yo'naltirilgan   (2b-rasm)   ga
ajratish mumkin.   Yo'naltirilmagan grafik yo'nalishsizdir.   Bu qirralarning yo'nalishi
yo'qligini anglatadi.   Boshqacha aytganda, munosabatlar o'zaro.   Masalan, Facebook
yoki   LinkedIn   ulanishi.   Aksincha,   yo'naltirilgan   grafiklarning   qirralari   ular   bilan
bog'langan   yo'nalishlarga   ega.   Rahbar   va   xodim   yoki   o'qituvchi   va   talaba
o'rtasidagi   assimetrik   munosabatni   ma'lumotlar   strukturasida   yo'naltirilgan   grafik
sifatida   ko'rsatish   mumkin.   Grafiklar,   shuningdek   ,   qirralar   bilan   bog'liq   haqiqiy
qiymatlarni   ko'rsatadigan   tortilishi   mumkin   (2c-rasm)   .   Grafikning   o'ziga   xos
ishlatilishiga   qarab,   chekka   og'irliklari   masofa,   xarajat,   o'xshashlik   va   boshqalar
kabi miqdorlarni ko'rsatishi mumkin.
Grafiklarni ifodalash
Grafikni   3   ta   ma'lumotlar   tuzilmasi   -   qo'shnilik   matritsasi,   qo'shnilik   ro'yxati   va
qo'shnilik to'plami yordamida tasvirlash mumkin.
Qo'shnilik   matritsasi   qatorlar  va ustunlardan iborat jadval  sifatida ko'rib chiqilishi
mumkin.   Qator va ustun yorliqlari grafik tugunlarini ifodalaydi.   Qo'shni matritsa -
bu qatorlar, ustunlar va tugunlar soni bir xil bo'lgan kvadrat matritsa.   Matritsaning
har   bir   yacheykasi   chekka   yoki   ikkita   berilgan   tugun   orasidagi   munosabatni ifodalaydi.   Masalan, Aij qo'shnilik matritsasi   ikkita   i va j tugunlari berilgan i dan j
gacha bo'lgan bog'lanishlar sonini ifodalaydi.
A B C D E
A 0 0 0 0 1
B 0 0 1 0 0
C 0 1 0 0 1
D 1 0 0 1 0
E 0 1 1 0 0
Yo'naltirilgan   grafik   uchun   qo'shnilik   matritsasi   3-rasmda   ko'rsatilgan.   E'tibor
bering,   u   kvadrat   matritsa   bo'lib,   unda   qatorlar,   ustunlar   va   tugunlar   soni   bir   xil
bo'lib qoladi (bu holda 5).   Har bir satr va ustun grafikning tuguniga yoki tepasiga
mos   keladi.   Matritsa   ichidagi   hujayralar   tugunlar   orasidagi   aloqani
ifodalaydi.   Berilgan   yo'naltirilgan   grafikda   hech   qanday   tugun   o'zi   bilan
bog'lanmaganligi  sababli,   matritsaning   diagonalida  joylashgan   barcha   katakchalar
nolga   teng.   Qolgan   hujayralar   uchun,   agar   berilgan   tugundan   boshqasiga
yo'naltirilgan   chekka   mavjud   bo'lsa,   unda   mos   keladigan   katak   boshqa   nol   bilan
belgilanadi.
Yo'naltirilmagan   grafikni   qo'shni   matritsa   yordamida   qanday   tasvirlash
mumkinligini   tushunish   uchun   beshta   cho'qqisi   bo'lgan   kichik   yo'naltirilmagan
grafikni   ko'rib   chiqing   (4-rasm).   Bu   erda   A   B   ga   ulanadi,   lekin   B   ham   A   ga
ulanadi.   Demak,   ikkala   katakcha   ham,   ya'ni   A   manbasi   B   maqsadli,   ikkinchisi   B
manba   manzili   A   bo'lgan   hujayralar   bittasi   bilan   belgilanadi.   Bu   yo'naltirilmagan chekka   talabi   uchun   etarli.   E'tibor   bering,   ikkinchi   yozuv   asosiy   diagonal   bo'ylab
aks ettirilgan joyda joylashgan.
Og'irlangan grafik bo'lsa, hujayralar o'rniga chekka og'irliklar bilan belgilanadi.   5-
rasmda   B   va   D   chekka   tutashtiruvchi   tugunlarga   berilgan   og‘irlik   3   ga   teng.
Demak,   qo‘shnilik   matritsasining   mos   keladigan   katakchalari,   ya’ni   B   qatori   D
ustuni va D qatori B ustuni 3 deb belgilangan.
NetworkX   kutubxonasi   qo'shni   matritsalarni   yaratishning   oson   usulini   taqdim
etadi.   Quyidagi   misol   NetworkX   yordamida   asosiy   qo'shnilik   matritsasini   qanday
yaratishimiz mumkinligini ko'rsatadi. Grafikning qo'shni ro'yxatini   ko'rsatishda   har bir tepa tugun ob'ekti sifatida taqdim
etiladi.   Tugun   ma'lumotlarni   yoki   bog'langan   ro'yxatga   havolani   o'z   ichiga   olishi
mumkin.   Ushbu   bog'langan   ro'yxat   joriy   tugunga   ulashgan   barcha   tugunlar
ro'yxatini taqdim etadi.   A tugunini va B tugunini birlashtiruvchi chekkadan iborat
grafikni ko'rib chiqing. Keyin A tugun B tugunining bog'langan ro'yxatida mavjud
bo'ladi.   6-rasmda   5   ta   tugunning   namunaviy   grafigi   va   unga   mos   keladigan
qo'shnilik ro'yxati ko'rsatilgan.
E'tibor   bering,   E   tuguniga   mos   keladigan   ro'yxat   bo'sh,   B   va   D   tugunlariga   mos
keladigan ro'yxatlarning har birida 2 ta yozuv mavjud.
Xuddi   shunday,   yo'naltirilmagan   grafik   uchun   qo'shni   ro'yxatlar   ham   tuzilishi
mumkin.   Yaxshiroq   tushunish   uchun   7-rasmda   yo'naltirilmagan   grafik   misoli   va
uning qo'shnilik ro'yxati keltirilgan. Qo'shnilar   ro'yxati   qo'shni   matritsaga   nisbatan   tezroq   qidirish   jarayonini
ta'minlaydi.   Biroq,   bu,   ayniqsa   tugunlarni   qo'shish   yoki   o'chirish   haqida   gap
ketganda,   grafiklarning   eng   yaxshi   ko'rinishi   emas.   Masalan,   tugunni   o'chirish
ma'lum   bir   tugunni   barcha   ro'yxatlardan   olib   tashlash   uchun   barcha   qo'shni
ro'yxatlarni   ko'rib   chiqishni   o'z   ichiga   oladi.   NetworkX   kutubxonasi   berilgan
grafikning   qo'shnilik   ro'yxatini   yaratish   uchun   adjacency_list   ()   funktsiyasini
taqdim etadi .   Quyidagi kod uning ishlatilishini ko'rsatadi.
Qo'shnilar   to'plami   qo'shnilar   ro'yxatidan   kelib   chiqadigan   ba'zi   qiyinchiliklarni
engillashtiradi.   Qo'shnilik   to'plami   qo'shnilar   ro'yxatiga   juda   o'xshaydi,   faqat
bog'langan   ro'yxat   o'rniga;   qo'shni   cho'qqilar   to'plami   taqdim   etiladi.   Qo'shnilik
ro'yxati  va  to'plami  ko'pincha  tugunlar  orasidagi  bog'lanishlar  kam   bo'lgan  siyrak
grafiklar   uchun   ishlatiladi.   Aksincha,   qo'shnilik   matritsasi   ko'plab   tugunlarni   o'z
ichiga olgan yaxshi bog'langan grafiklar uchun yaxshi ishlaydi.
4. Graflarni kampyuret xotirasida aks ettirish.
Grafik obyektlar va ularni kompyuterda   tasvirlash usullari
Inson tashqi dunyo haqidagi axborotning asosiy qismini ko‘zlari yordamida qabul
qiladi.
Ular   yordamida  insonda   tashqi  muhit  va  undagi  obyektlar  haqida  tasavvur   paydo
bo‘ladi. Ko‘rish tizimi turli obyektlaming tasvirini qabul qilib oladi.
Obyektlaming   tasvirini   yaratish,   ularni   saqlash ,   qayta   ishlash   va   tasvirlash
qurilmalarida   tasvirlab   berish   kompyuterning   eng   qiyin   va   asosiy   masalalaridan
biridir.
13
Kompyuterga   hech   qanday   topshiriq   berilmaganda,   ya’ni   bekor   turganida   ham
ekranida   ko‘rinishi   kerak   bo‘lgan   tasvirni   sekundiga   o‘nlab   marta   qayta   ishlab
ko‘rsatadi.
Kompyuterning ekranida paydo bo‘ladigan tasvirlar uning videokarta deb ataluvchi
qurilmasi yordamida yaratiladi va ekranga chiqariladi. Videokartalar uchun maxsus
videoprotsessorlar ishlab chiqariladi.
Kompyuter videokartasi
Videoprotsessorlar  kompyuterning asosiy protsessorini  murakkabligi  va hisoblash
ishlarini bajarish tezligi bo‘yicha ortda qoldirib ketgan.
Kompyuter   ekranida   tasvir   qanday   yaratilishi   bilan   tanishib   chiqamiz.
Kompyuterning   ma’lumotlarni   elektron   ko'rinishda   tasvirlash   qurilmasi   monitor
(monitor   - kuzatish , nazorat) deb ataladi.
Kompyuterda   bo‘layotgan   jarayonlarni   monitor   orqali   kuzatish   mumkin.
Monitorning   tasvirlar   ko‘rsatiladigan   qismi,   ya’ni   ekrani   displey   (display   -
tasvirlamoq) deb ataladi.
Hozirgi   paytda   alohida   korpusda   yig‘ilgan   tasvirlash   qurilmalari   kompyuter
monitori,   kompyuter   bilan   birga   joylangan   tasvirlash   qurilmalari   (masalan,
noutbuk, planshet hamda telefonlarda) displey deb atalmoqda.
Displey   ekrani   satrlarga   va   ustunlarga   ajratib   chiqilgan   bo‘lib,   har   bir   qator   va
ustun kesishgan joyda piksel deb ataluvchi juda kichik tasvir bo‘laklari joylashgan.
Piksellar
Piksellarning har biri alohida manzilga ega va mustaqil boshqarilishi mumkin.
Har bir piksel uchun xotirada bir baytdan to‘rt baytgacha joy ajratilishi mumkin.
Demak, har bir piksel 256 tadan 4 milliardgacha bo‘lgan ranglardan birida bo‘lishi
mumkin. Ekrandagi har bir pikselning o‘zi uchga bo‘linadi.
Bu   ranglar   asosiy   ranglar   deb   ataladi   va   turli   nisbatda   qo‘shilib,   tabiatda
uchraydigan ranglarning deyarli barchasini yarata oladi.
Ulardan   biri qizil ,
Ikkinchisi yashil,
uchinchisi ko‘k rangda porlaydi.
Kompyuter   grafikasi   faoliyatning   shunday   turiki,   unda   kompyuter   va   maxsus
yaratilgan   dasturlardan   foydalanib ,   tasvirlar   yaratiladi,   mavjudlari   raqamli
ko‘rinishga   o‘tkaziladi,   qayta   ishlanadi ,   saqlanadi   va   qulay   ko‘rinishda
tasvirlanadi.
Multimedia   mahsulotlari   rasmlar   va   animatsiya   bilan   birga   boshqa   turdagi
axborotlarni, masalan, ovoz va matnni ham o‘z ichiga oladi.
#include <iostream>
using namespace std;
int main()
{
int n;
cout<<"Qancha son kiritasiz - ";
cin>>n;
int a[n];
for(int i=1;i<=n;i++)
{
cout<<"Son "<<"["<<i<<"] ";
cin>>a[i];
}
for(int i=1;i<=n-1;i++)
{
for(int j=i+1;j<=n;j++)
{
int m=0; if(a[i]>a[j]) {
m=a[i]; a[i]=a[j]; a[j]=m;
} } }
for(int i=1;i<=n;i++)
{
cout<<" "<<a[i];
}
return 0;
}
Bu dastur sinlarni o`sish tartibida saralab beradi.
Va   shu   dasturni   kodini   ozgina   almashtirib   kamayish   tartibida   saralash   ham
mumkun.
Shu joyida qidiruv algoritimi haqida ham ozgina malumot berib ketmoqchiman.
Qidiruv algoritmlari Linear search va Binary search.
Chiziqli qidirish algoritmi qanday ishlaydi
Aytib   o’tganimizdek,   bu   algoritm   juda   ham   sodda   ishlaydi   va   tasavvur   qilishga
ham oson.
Arrayning birinchi elementidan tekshirish boshlanadi.
Element olinadi va u berilgan shartga tekshirib ko’riladi.
Agar   shartni   qanoatlantirsa,   uning   qiymati   yoki   joylashgan   o’rni   (qiymati   yoki
shunchaki true) qaytariladi va algoritm tugaydi.
Shart qanoatlantirilmasa, keyingi elementga o’tiladi va 2-qadamga qaytiladi
Array tugab, element topilmasa, buni anglatuvchi qandaydir qiymat qaytariladi (-1
yoki false…)
Ko’rinishidan   ko’pdek   tuyulsa   ham,   aslida   bu   algoritm   hayotdagi   odatiy   qidirish
bilan bir xil ishlaydi.  Keling uni visual holda tasavvur qilamiz. Image source:   https://www.tutorialspoint.com
Algoritm implementatsiyasiga o’zingiz mustaqil harakat qilib ko’ring, yoki keyingi
videodarsimizga o’ting.
Algoritm murakkabligi
Chiziqli   qidirish   algoritmining   vaqt   bo’yicha   murakkabligi   uning   nomidan   ham
ma’lum,   ya’ni   chiziqli   O(n).   Ya’ni,   eng   yomon   holat   sifatida   element   array
bo’lmagan   holat   qaraladi   va   bunda   algoritm   maksimum   n   ta   qadam   ish   bajarishi
kerak bo’ladi.
Xotira jihatidan, algoritm ortiqcha joy talab qilmaydi.
Chiziqli qidirish algoritmi ko’pincha real hayotdagi holatlar uchun ancha sekinlik
qiladi.   Shuning   uchun   ham   bunday   holatlarda   undan   boshqa   tezroq   ishlaydigan
algoritmlar   qo’llanilishi   kerak   bo’ladi   (masalan,   ikkilik   qidirish).   Lekin,   bu
algoritmning   ham   ikkilik   qidirishdan   o’ziga   yarasha   avfzal   tomonlari   mavjud.
Bunga   ikkilik   qidirish   (binary   search)   haqida   gaplashgandan   keyin   batafsil
to’xtalamiz.
Ikkilik qidirish algoritmi ishlash prinsipi
Ikkilik   qidirish   algoritmini   ishlash   prinsipini   tushunish   uchun   keling   kompyuter
bilan o'yin o'ynab ko'ramiz.  O'yin shartlari quyidagicha:
Kompyuter   1  dan   100   gacha   ixtiyoriy  son   tanlaydi.   Sizning  vazifangiz   shu   sonni
iloji boricha kam taxmin ishlatgan holda topish.
Har bir taxmindan keyin kompyuter sizga sizning taxminingiz kompyuter o'ylagan
sondan katta yoki kichikligini aytadi.
Agar sizning taxminingiz kompyuter o'ylagan son bilan bir xil bo'lsa, o'yin tugaydi.
Xo'sh, bunda kamroq yo'l tutish uchun nima qilgan bo'lar edingiz? Albatta, birinchi navbatda o'rtadagi sonni taxmin qilib ko'ramiz, ya'ni 50 ni
Aytaylik kompyuter bizga taxminimiz o'ylangan sondan kichikroq ekanligini aytdi.
Demak, endi biz 50 va undan kichik barcha son o'ylangan sondan kichik ekanligini
bilamiz.   Shunday   qilib,   bizning   qidirish   sohamiz   ikki   baravarga   qisqaradi   (50   ta
son).   Huddi   shu   tarzda   davom   etamiz.   Endi   51   dan   100   gacha   sonlar   o'rtasidagi
sonni olamiz, ya'ni 75 ni
Kompyuter bizga 75 o'ylangan sondan katta ekanligini aytdi. Demak, 75 dan katta
barcha   sonlar   ham   o'ylangan   sondan   katta   ekan.   Shunday   qilib,   bizdagi   qidirish
sohasi   yana   ikki   baravarga   qisqardi   (25   ta   son).   Huddi   shunday   davom   etib,   biz
o'ylangan sonni topishimiz mumkin. Sonlar   100   ta   bo'lgan   holatda,   biz   har   qanday   tahminni   ko'pi   bilan   7   ta   qadamda
topishimiz mumkin bo'ladi.
Ikkilik qidirish algoritmi ham huddi shunday prinsipda ishlaydi!
Giraflar haqida yana bitta dastur
Masalalar
C++ da dastur kodi:
#include "stdafx.h"
#include
using   namespace   std;
const   int   maxV=1000;
int   i, j, n;
int   GR[maxV][maxV];
//алгоритм Флойда-Уоршелла
void   FU(int   D[][maxV],   int   V)
{
int   k;
for   (i=0;   i<v;   i++)   d[i][i]=0; 
for   (k=0;   k<v;   k++) 
for   (i=0;   i<v;   i++) 
for   (j=0;   j<v;   j++) 
if   (D[i][k]   &&   D[k][j]   &&   i!=j)
if   (D[i][k]+D[k][j]<d[i][j]   ||   d[i][j]==0) 
D[i][j]=D[i][k]+D[k][j];
for   (i=0;   i<v;   i++) 
{
for   (j=0;   j<v;   j++)   cout<<d[i][j]<<"\t"; 
cout<<endl; 
} } //главная функция
void   main()
{
setlocale(LC_ALL,   "Rus");
cout<<"Количество вершин в графе > ";   cin>>n;
cout<<"Введите матрицу весов ребер:\n";
for   (i=0;   i<n;   i++) 
for   (j=0;   j<n;   j++) 
{
cout<<"GR["<<i+1<<"]["<<j+1<<"]>   ";
cin>>GR[i][j];
}
cout<<"Матрица кратчайших путей:"<<endl; 
FU(GR, n);
system("pause>>void");
} XULOSA :
Xulosam   shuki   grafikni   ob ' ektlar   o ' rtasidagi   munosabatlarni   tasvirlash   uchun
ishlatiladigan   ma ' lumotlar   tuzilmasi   sifatida   ko ' rish   mumkin   ekan .  Va har bir grafik
chekkalar   deb   ataladigan   chiziqlar   yordamida   bog'langan   cho'qqilar   yoki
tugunlar   deb   ataladigan   nuqtalar   to'plami   ekan.       E'tibor   bering,   E   tuguniga   mos
keladigan ro'yxat bo'sh, B va D tugunlariga mos keladigan ro'yxatlarning har birida
2 ta yozuv mavjud.
Hozirgi   paytda   alohida   korpusda   yig‘ilgan   tasvirlash   qurilmalari   kompyuter
monitori,   kompyuter   bilan   birga   joylangan   tasvirlash   qurilmalari   (masalan,
noutbuk,   planshet   hamda   telefonlarda)   displey   deb   atalmoqda.   Displey   ekrani
satrlarga   va   ustunlarga   ajratib   chiqilgan   bo‘lib,   har   bir   qator   va   ustun   kesishgan
joyda piksel deb ataluvchi juda kichik tasvir bo‘laklari joylashgan bular ekan. Adabiyotlar
^   "Meet  the 'Refrigerator  Ladies'  Who Programmed the ENIAC" .   Aqliy ip. 2013-
10-13. Olingan   2016-06-16.
^   Lor,   Stiv   (2001   yil   17-dekabr).   "Frensis   E.   Xolberton,   84   yosh,   erta   kompyuter
dasturchisi" .  NYTimes. Olingan   16 dekabr   2014.
^   Demuth,   Howard   B.   (1956).   Electronic   Data   Sorting   (Doktorlik   dissertatsiyasi).
Stenford universiteti.   ProQuest     301940891 .
^   Kormen,   Tomas   H. ;   Leyzerson,   Charlz   E. ;   Rivest,   Ronald   L. ;   Shteyn,
Klifford   (2009),   "8",   Algoritmlarga   kirish   (3rd   ed.),   Cambridge,   MA:   The   MIT
Press, p. 167,   ISBN     978-0-262-03293-3
^   Sedgewick,   Robert   (1   sentyabr   1998  yil).   Algorithms   In  C:   Fundamentals,   Data
Structures, Sorting, Searching, Parts 1-4   (3 nashr).   Pearson ta'limi.   ISBN     978-81-
317-1291-7 . Olingan   27 noyabr   2012.
^   Sedgewick,   R.   (1978).   "Implementing   Quicksort   programs".   Kom.
ACM .   21   (10): 847–857.   doi : 10.1145/359619.359631 .
^   Ajtai,   M. ;   Komlos,   J. ;   Szemeredi,   E.   (1983).   An   O   (n   log   n)   tarmoqni
saralash.   STOC   '83.   Proceedings   of   the   fifteenth   annual   ACM   symposium   on
Theory   of   computing.   1-9   betlar.   doi : 10.1145/800061.808726 .   ISBN     0-89791-
099-0 .
^   Huang,   B.   C.;   Langston,   M.   A.   (December   1992).   "Fast   Stable   Merging   and
Sorting   in   Constant   Extra   Space"   (PDF).   Hisoblash.   J.   35   (6):   643–
650.   CiteSeerX     10.1.1.54.8381 .   doi : 10.1093/comjnl/35.6.643 .
^   Kim,   P.   S.;   Kutzner,   A.   (2008).   Ratio   Based   Stable   In-Place
Merging.   TAMC   2008.   Theory   and   Applications   of   Models   of
Computation.   LNCS .   4978.   pp.   246–
257.   CiteSeerX     10.1.1.330.2641 .   doi : 10.1007/978-3-540-79228-4_22 .   ISBN     978-
3-540-79227-7 .
^   https://qiita.com/hon_no_mushi/items/92ff1a220f179b8d40f9
^   "SELECTION   SORT   (Java,   C++)   -   Algorithms   and   Data
Structures" .   www.algolist.net. Olingan   14 aprel   2018.

Mavzu: “Graflarni kampyuter xotirasida aks ettirish” MUNDARIJA: I Kirish. II Asosiy qisim. Graf haqida malumot. 2. Grafik asoslari. 3. Grafiklarni ifodalash. 4. Graflarni kapyuter xotirasida aks ettirish. 5. masalalar. III Xulosa. IV Foydalanilgan adabiyotlar.

KIRISH: Graf - bu murakkab chiziqsiz ko'pbog'lamli dinamik tuzilma bo'lib, murakkab ob'ektlarning xususiyatlari va munosabatlarini aks ettiradi. Ob'ektlar tugun yoki graf uzellari ko'rinishida va munosabatlar yoy yoki yo'naltirilgan qirralar kabi ifodalanadi. «Graf» tushunchasini birinchi marotaba 1936 yil vengriya matematigi Denni Kyonig kiritgan. Lekin graflar nazariyasi bo'yicha 1-ish Leonard Eylerga tegishli bo'lgan va u 1736 yilda bajarilgan edi. XVIII asrda mashhur shvetsariyalik matematik, mexanik va fizik Leonard Eyler (1707-1783 yy) Kyonigsberg ko’prigi haqidagi masalani yechish uchun birinchi marta graf tushunchasidan foydalanadi. II.Asosiy qisim. 1.Graflar turlari. Graf turlari Graf - bu abstrakt obyekt bo lib, uchlar to plami (tugunlar) vaʻ ʻ qirralarning to plami - uchlar juftliklari orasidagi bog lanishlardan tashkil topadi ʻ ʻ (ulanishlar). Graf mavzusi juda keng. Graflar diskret matematikaning o rganish ʻ mavzusidir (bu yerda graf tushunchasining aniqroq ta‘rifi berilgan). Graf murakkab tuzilgan ma‘lumotni tavsiflash uchun ishlatiladi va shuning uchun katta amaliy ahamiyatga ega. Matematikada graflar paydo bo lishiga Eyler asarlari yordam ʻ berdi. Graflar bilan qayerda uchrashamiz? Ehtimol, ular bilan qayerda uchrashmasligimizni aytish osonroq. Ya‘ni biz graflarda juda ko p holatda ʻ uchratamiz. Misol qilib quyidagilarni keltirishimiz mumkin: Lokal yoki global tarmoq modeli Algoritmlarning blok-sxemasi Elektr sxemalar 81 Oila daraxti (Shajara) Metro xaritasi Ma‘lumotlar bazasi modeli Aqlli xaritalar va boshqa ko plab sohalarda qo llanilib kelmoqda. Ushbu darsda butun graflar nazariyasini ʻ ʻ olish mumkin emas. Shuning uchun qisqacha ma‘lumotlarni keltirib o tamiz. G ʻ graf - G: = (V, E) tartiblangan juftlik, bu yerda 2 V - uchlarning (yoki tugunlarning) bo sh bo lmagan to plami, E esa qirralar deb ʻ ʻ ʻ nomlangan uchlarning juftlari to plamidir. Grafning uchlari va qirralari (ular graf ʻ elementlari deb ataladi), grafdagi uchlar soni | V | - graf tartibi, qirralarning soni | E | - graf hajmi deb ataladi. Grafik asoslari Grafikni ob'ektlar o'rtasidagi munosabatlarni tasvirlash uchun ishlatiladigan ma'lumotlar tuzilmasi sifatida ko'rish mumkin. Ob'ekt o'ziga xos va mustaqil mavjudlikka ega bo'lgan har qanday ob'ekt bo'lishi mumkin. Bu haqiqiy jismoniy

ob'ekt yoki mavhum g'oya bo'lishi mumkin. Masalan, tashkilot ma'lumotlar saqlanishi mumkin bo'lgan shaxs, joy yoki tashkilot bo'lishi mumkin. Hisoblash dunyosida grafiklar nafaqat real hayotga abstraktsiyalarni taqdim etish, balki murakkab munosabatlarni osonlik bilan namoyish qilish qobiliyati tufayli hamma joyda paydo bo'ldi. Shunday qilib, turli xil amaliy muammolarni grafiklar sifatida ko'rsatish mumkin. Masalan, veb-saytlarning bog'langan tuzilishini grafik sifatida ko'rish mumkin. Har bir grafik chekkalar deb ataladigan chiziqlar yordamida bog'langan cho'qqilar yoki tugunlar deb ataladigan nuqtalar to'plamidir . Cho'qqilar grafikdagi ob'ektlarni ifodalaydi. Boshqa tomondan, qirralar ob'ektlar o'rtasidagi munosabatlarni ifodalaydi. Demak, tugunlar ob'ektlarni modellashtirganda, qirralar tarmoq grafigidagi munosabatlarni modellashtiradi. E qirralar to'plami bilan birga V uchlari to'plamiga ega bo'lgan G grafigi G = (V, E) shaklida ifodalanadi . Ikkala cho'qqi ham, qirralar ham ob'ektlar va munosabatlarni tavsiflash uchun ishlatiladigan qo'shimcha atributlarga ega bo'lishi mumkin. 1- rasmda beshta tugun va oltita qirrali oddiy grafik tasvirlangan. Grafiklarning haqiqiy dunyo ilovalarida chekka LinkedIndagi odamlar o'rtasidagi professional munosabatlar yoki Facebook yoki Instagram kabi ijtimoiy media platformasidagi shaxsiy munosabatlarni ifodalashi mumkin.

Grafiklarni umuman yo'naltirilmagan (2a-rasm) yoki yo'naltirilgan (2b-rasm) ga ajratish mumkin. Yo'naltirilmagan grafik yo'nalishsizdir. Bu qirralarning yo'nalishi yo'qligini anglatadi. Boshqacha aytganda, munosabatlar o'zaro. Masalan, Facebook yoki LinkedIn ulanishi. Aksincha, yo'naltirilgan grafiklarning qirralari ular bilan bog'langan yo'nalishlarga ega. Rahbar va xodim yoki o'qituvchi va talaba o'rtasidagi assimetrik munosabatni ma'lumotlar strukturasida yo'naltirilgan grafik sifatida ko'rsatish mumkin. Grafiklar, shuningdek , qirralar bilan bog'liq haqiqiy qiymatlarni ko'rsatadigan tortilishi mumkin (2c-rasm) . Grafikning o'ziga xos ishlatilishiga qarab, chekka og'irliklari masofa, xarajat, o'xshashlik va boshqalar kabi miqdorlarni ko'rsatishi mumkin. Grafiklarni ifodalash Grafikni 3 ta ma'lumotlar tuzilmasi - qo'shnilik matritsasi, qo'shnilik ro'yxati va qo'shnilik to'plami yordamida tasvirlash mumkin. Qo'shnilik matritsasi qatorlar va ustunlardan iborat jadval sifatida ko'rib chiqilishi mumkin. Qator va ustun yorliqlari grafik tugunlarini ifodalaydi. Qo'shni matritsa - bu qatorlar, ustunlar va tugunlar soni bir xil bo'lgan kvadrat matritsa. Matritsaning har bir yacheykasi chekka yoki ikkita berilgan tugun orasidagi munosabatni

ifodalaydi. Masalan, Aij qo'shnilik matritsasi ikkita i va j tugunlari berilgan i dan j gacha bo'lgan bog'lanishlar sonini ifodalaydi. A B C D E A 0 0 0 0 1 B 0 0 1 0 0 C 0 1 0 0 1 D 1 0 0 1 0 E 0 1 1 0 0 Yo'naltirilgan grafik uchun qo'shnilik matritsasi 3-rasmda ko'rsatilgan. E'tibor bering, u kvadrat matritsa bo'lib, unda qatorlar, ustunlar va tugunlar soni bir xil bo'lib qoladi (bu holda 5). Har bir satr va ustun grafikning tuguniga yoki tepasiga mos keladi. Matritsa ichidagi hujayralar tugunlar orasidagi aloqani ifodalaydi. Berilgan yo'naltirilgan grafikda hech qanday tugun o'zi bilan bog'lanmaganligi sababli, matritsaning diagonalida joylashgan barcha katakchalar nolga teng. Qolgan hujayralar uchun, agar berilgan tugundan boshqasiga yo'naltirilgan chekka mavjud bo'lsa, unda mos keladigan katak boshqa nol bilan belgilanadi. Yo'naltirilmagan grafikni qo'shni matritsa yordamida qanday tasvirlash mumkinligini tushunish uchun beshta cho'qqisi bo'lgan kichik yo'naltirilmagan grafikni ko'rib chiqing (4-rasm). Bu erda A B ga ulanadi, lekin B ham A ga ulanadi. Demak, ikkala katakcha ham, ya'ni A manbasi B maqsadli, ikkinchisi B manba manzili A bo'lgan hujayralar bittasi bilan belgilanadi. Bu yo'naltirilmagan