Grafo mazgas vadinamas viršūne (daugiskaita - viršūnės). Kartais jis vis dar vadinamas mazgu; tai taip pat galima vadinti tašku. Nuoroda grafike vadinama kraštu. Kartais jis vis dar vadinamas nuoroda; tai taip pat galima vadinti linija.
Grafikas su daugybe funkcijų
Šiame paveiksle parodyta diagrama su daugybe funkcijų:
Apskritimai (diskai) yra viršūnės. Bet kuri tiesi linija arba išlenkta linija ar kilpa yra kraštas.
Grafiko ypatybės
Viršūnė
Viršūnė yra objektas. Tai gali būti namas; tai gali būti asmuo; tai gali būti abstraktus daiktavardis; tai gali būti bet koks objektas, kurį galite sugalvoti.
Briauna
Briauna yra ryšys (ryšys) tarp dviejų viršūnių; ryšys gali būti abstraktus.
Kilpa
Kilpa yra kraštas, jungiantis viršūnę su savimi.
Rodyklės kraštas
Apsvarstykite du žmones: Joną ir Petrą. Jei Jonas paskolina Petrui 100 dolerių, o jei Jonas ir Petras yra viršūnės, paskolos briauna bus nukreipta į Petrą. Jei abu partneriai pamiršta, kad Petras yra skolingas Jonui, o Petras skolina Jonui 100 USD, tai kitame to paties krašto gale rodyklės galas bus nukreiptas į Joną. Jei Petras paskolino Jonui 75 USD, o ne 100 USD, tada kitas pranašumas sujungtų Petrą su Jonu. Šio antrojo krašto rodyklės galas bus nukreiptas į Joną. Antruoju atveju yra du kraštai, po vieną rodyklės antgalį, nukreiptą į priešingas puses.
Viršūnė, į kurią nukreiptas kraštas, yra to krašto galvos viršūnė. Viršūnė, iš kurios išeina kraštas, yra uodegos viršūnė.
Incidentas
Briauna jungia dvi viršūnes. Sakoma, kad kraštas yra atsitikęs į bet kurią viršūnę. Briaunoje nebūtinai turi būti rodyklės antgalis. Dvi viršūnės yra žinomos kaip krašto galiniai taškai. Galima turėti grafiką, kuriame viršūnė nepriklauso jokiam kraštui, tačiau šioje instrukcijoje į tai nebus atsižvelgta.
Nenukreiptas grafikas
Briauna gali būti rodyklė, arba ne. Grafikas, kuriame nė viena kraštinė nėra rodyklė, yra nenukreiptas grafikas. Kraštą galima pavaizduoti tiesia linija arba kreive ar kilpa.
Kryptinis grafikas
Grafikas, kuriame kiekvienas kraštas yra rodyklė (kryptis), yra nukreiptas grafikas. Rodyklės kraštas gali būti pavaizduotas tiesia linija su rodyklės galu arba kreivė su rodyklės galu arba kilpa su rodyklės galu.
Krypties nebuvimas nenukreipto grafiko krašte reiškia, kad kiekvienas nenukreipto grafiko kraštas yra dvikryptis.
Viršūnės laipsnis
Viršūnių, esančių viršūnėje, skaičius yra viršūnės laipsnis. Kilpa turi du įvykius ant viršūnės, todėl kilpa skaičiuojama du kartus.
Grafiko tvarka
Grafiko tvarka yra viršūnių skaičius diagramoje.
Multigrafas
Daugialypis grafikas yra grafikas, kuriame kai kurioms viršūnių poroms yra daugiau nei vienas kraštas. Nenukreiptas multigrafas yra toks grafikas, kuriame kraštai neturi krypčių (nėra rodyklės). Nukreiptas multigrafas yra tas, kur kiekvienas kraštas yra rodyklė, o viršūnių poroms, turinčioms daugiau nei vieną rodyklę, viena viršūnė yra tų rodyklių uodega, o kita viršūnė yra tų pačių rodyklių galva. Šioje diagramoje parodytas nenukreiptas daugialypis grafas:
Keli kraštai (t.e. keli kraštai) viršūnių porai dar vadinami lygiagrečiais kraštais.
Strėlinė
Drebulys yra daugiagrafis, leidžiantis kilpas (vieną ar daugiau kilpų). Kai kurie daugiaraščiai neleidžia kilpų.
Paprastas grafikas
Paprastas grafikas yra grafikas, kuriame nėra dviejų viršūnių porų, turinčių kelis kraštus. Paprastame grafike negalima naudoti kilpų.
Tuščias grafikas
Tuščias grafikas yra grafikas, kuriame nėra viršūnių ir todėl nėra kraštų.
Mišrus grafikas
Mišrus grafikas yra grafikas, kuriame kai kurie kraštai yra rodyklės, o kiti - ne; kitaip tariant: vieni kraštai turi kryptis, o kiti nėra nukreipti.
Svertinis grafikas
Galima turėti grafiką, kuriame kiekvienam kraštui priskirtas skaičius, žinomas kaip svoris. Kai kurie kraštai turi tą patį skaičių, tačiau skaičiai paprastai skiriasi. Toks grafikas vadinamas svertiniu grafiku. Tam tikro grafiko skaičiai gali atspindėti ilgį ar kainą (kainas) arba tam tikrą dydį, priklausomai nuo problemos.
Nepriklausomas ir peržengęs laipsnį
Žodynas, laipsnis ir laipsnis galioja tik nukreiptam grafui. Grafikas gali būti daugialypis arba ne. Grafike gali būti kilpų, jos gali ir nebūti.
Straipsnių, sujungtų su viršūne, skaičius yra tos viršūnės laipsnis. Strėlė su viena rodyklės galu turi galvos galą ir uodegą. Su viršūne sujungtų uodegų skaičius yra tos viršūnės viršūnė.
Pastaba: diagrama su keliais kraštais porai viršūnių, kai keli kraštai yra priešingomis kryptimis, šioje instrukcijoje nėra nagrinėjami.
Programinės įrangos grafiko atvaizdavimas
Grafiką programinėje įrangoje galima pavaizduoti taip, kaip jis nupieštas diagramoje. Grafiką programinėje įrangoje taip pat galima pavaizduoti matematine matrica (dvimatis masyvas). Viena iš tokių matricų vadinama gretimumo matrica.
Adjacency Matrix
Gretimumo matrica yra kvadratinė matrica. Eilučių antraštės yra visos viršūnės, parašytos didėjimo tvarka. Stulpelių antraštės vis dar yra tos pačios viršūnės, parašytos didėjimo tvarka. Matricos eilučių ar stulpelių skaičiavimas prasideda nuo 1, o ne nuo nulio, kaip su masyvais. Identifikuojant elementą matricoje, eilutės numeris rašomas pirmiausia prieš stulpelio numerį.
Nenukreiptame grafike kiekvienas gretimumo matricos įrašas (elementas) yra kraštų, jungiančių dvi atitinkamas viršūnes, skaičius. Kilpa turėtų būti skaičiuojama du kartus. Nukreiptame grafike kiekvienas įrašas gretimumo matricoje yra arba briaunų skaičius, paliekantis eilutės viršūnę ir įvedantis atitinkamą stulpelio viršūnę, arba briaunų skaičius, paliekantis stulpelio viršūnę ir įvedantis į atitinkamą eilutės viršūnę. Pasirinkimą turi pats programuotojas. Šioje situacijoje (bet kuriuo atveju) kilpa vis tiek turėtų būti skaičiuojama vieną kartą.
Pastaba: Grafikas yra diagrama, kuri yra savarankiška duomenų struktūra. Gretimybės matrica taip pat yra savarankiška duomenų struktūra.
Nenukreiptas grafikas ir adjacencijos matrica
Šios diagramos rodo nenukreiptą grafiką ir atitinkamą gretimybės matricą:
Pagrindinė matricos įstrižainė yra įstrižainė iš viršaus į kairę į apačią į dešinę. Nenukreipta matrica yra simetriška priekinės įstrižainės atžvilgiu. A eilutės ir C stulpelio matricos įrašas yra 1, tai reiškia, kad yra vienas kraštas, jungiantis A ir C viršūnes. C eilutės ir B stulpelio matricos įrašas yra 3, o tai reiškia, kad yra 3 kraštai, jungiantys C ir B viršūnes. Panašiai paaiškinami ir kiti įrašai.
Eilučių įrašų suma nurodo atitinkamos viršūnės kraštų skaičių (laipsnį). A eilutės įrašų suma yra 2, o tai reiškia, kad 2 kraštai yra prijungti prie A viršūnės. B eilutės įrašų suma yra 6, o tai reiškia, kad 6 kraštai yra prijungti prie B viršūnės. Kiti įrašai yra panašiai paaiškinti.
„Directed Graph“ ir „Adjacency Matrix“
Šios diagramos rodo nukreiptą grafiką ir atitinkamą gretimybės matricą:
Nukreipto grafiko gretimumo matrica nebūtinai yra simetriška priekinės įstrižainės atžvilgiu. A eilutės ir C stulpelio matricos įrašas yra 1, tai reiškia, kad vienas kraštas išeina iš A viršūnės į C viršūnę. C eilutės ir B stulpelio matricos įrašas yra 3, o tai reiškia, kad 3 kraštai palieka nuo C viršūnės iki B viršūnės. Panašiai paaiškinami ir kiti įrašai.
Stulpelio įrašų suma suteikia (stulpelio) viršūnės laipsnį. Eilučių įrašų suma suteikia (eilutės) viršūnės laipsnį. A stulpelio įrašų suma yra 1, o tai reiškia, kad vienas kraštas nukreiptas į A viršūnę. B eilutės įrašų suma yra 2, tai reiškia, kad iš B viršūnės palieka 2 kraštai. Kiti įrašai yra panašiai paaiškinti.
Grafiko operacijos
Duomenų struktūrą, pvz., Grafiką, sudaro duomenų reikšmių rinkinys arba objektų rinkinys, plius santykis tarp objektų ir operacijos (funkcijos) tarp objektų. Ryšius grafike nurodo kraštai. Be to, diagramoje turėtų būti bent šios operacijos:
gretimas (G, x, y)
G reiškia grafiką. Ši operacija patikrina, ar kraštas sujungia viršūnę x ir viršūnę y. Matricos įrašo vertė ir padėtis rodo krašto (ir jo tipo) ryšį.
kaimynai (G, x)
Ši operacija pateikia visų viršūnių, tiesiogiai sujungtų su viršūne x, sąrašą. Matricos įrašo vertė ir padėtis rodo krašto ryšį.
pašalinti_vertex (G, x)
Ši operacija pašalina viršūnę, x iš grafiko. Jei viršūnė neturėjo krašto, nėra jokių problemų. Tačiau jei viršūnė turėjo nuorodas, taip pat reikėtų pašalinti nuorodas (kraštus). Matricos įrašo vertė ir padėtis rodo tam tikros viršūnės buvimą. Jei viršūnė pašalinama, matricą reikia sureguliuoti.
add_vertex (G, x)
Tai prideda viršūnę, x be kraštų, arba pakeičia viršūnę, kuri turėjo kraštus, bet buvo pašalinta. Matricos įrašo vertė ir padėtis rodo tam tikros viršūnės buvimą. Jei pridedama viršūnė, matricą reikia pakoreguoti.
add_edge (G, x, y)
Ši operacija prideda naują kraštą tarp viršūnės x ir viršūnės y, jei krašto nebuvo. Matricos įrašo vertė ir padėtis rodo konkretaus krašto buvimą. Jei pridedamas kraštas, matricą reikia pakoreguoti.
pašalinti_edžas (G, x, y)
Ši operacija pašalintų kraštą tarp viršūnės x ir viršūnės y, jei kraštas būtų. Matricos įrašo vertė ir padėtis rodo konkretaus krašto buvimą. Jei kraštas pašalinamas, matricą reikia sureguliuoti.
get_vertex_value (G, x)
Ši operacija grąžina vertę, susietą su viršūne, x. Norėdami tai pasiekti, reikia viršūnių rinkinio viršūnių etiketėms ir jų reikšmėms.
set_vertex_value (G, x, v)
Ši operacija suteikia naują vertę, susietą su viršūne, x. Norėdami tai pasiekti, reikia viršūnių rinkinio viršūnių etiketėms ir jų reikšmėms.
Kai kurie grafikai taip pat susieja vertes su savo kraštais. Tokiems grafikams reikalingos šios papildomos operacijos:
get_edge_value (G, x, y)
Ši operacija grąžina vertę, susietą su kraštu, (x, y). Norėdami tai pasiekti, jums reikia galios rinkinių kraštų ir jų reikšmių rinkinių.
set_edge_value (G, x, y, v)
Ši operacija suteikia naują vertę, susietą su kraštu, (x, y). Norėdami tai pasiekti, jums reikia galios rinkinių kraštų ir jų reikšmių rinkinių.
Išvada
Grafikas yra su kraštais sujungtų viršūnių rinkinys. Grafikas gali būti nenukreiptas arba nukreiptas. Kraštai gali būti nesukreipti arba nukreipti. Grafike gali būti kilpų arba jų nėra. Tai, ką turėtumėte išmokti toliau, yra rinkinys, galios nustatymas ir daugybė duomenų, susijusių su grafikais. Po to turėtumėte išmokti įvairių tipų grafikų, tokių kaip orientuotas grafikas, įprastas grafikas, pilnas grafikas, dvišalis grafikas, turnyro grafikas, srauto tinklo grafikas ir kt.
Chrys
Apie autorių
Chrysanthus Forcha
Matematikos integracijos atradėjas iš pirmųjų principų ir susijusių serijų. Techninio švietimo magistro laipsnis, specializuojasi elektronikos ir kompiuterių programinės įrangos srityje. Elektronikos bakalauras. Taip pat turiu žinių ir patirties magistro lygiu skaičiavimo ir telekomunikacijų srityse. Iš 20 000 rašytojų aš buvau 37-as geriausias „Devarticles“ rašytojas.com. Šiose srityse dirbu daugiau nei 10 metų.
Peržiūrėti visus pranešimus