Tippude seotus ja kaugus graafis Märgatav osa graafidega seotud ülesandeid uurib, kas kaks etteantud tippu on üldse omavahel seotud, kas mööda servi on võimalik teise tippu jõuda. Ning kui side olemas, siis vahel küsitakse ka siduvat teed ennast ning selle tee pikkust. Olgu siis sammudes või muudes ühikutes. Kui graafiülesandele vastus käes, siis saab juba vastusena edasi anda, kas tegemist on vahemaaga alguspunktist sihtpunkti mitme linna kaudu või inimestevahelise suhtlusega mitme tuttava kaudu. Üheks võimalikuks lahenduseks kahe sõlme vahel leiduva lühima sammude arvuga tee leidmiseks on tuua appi massiiv näitamaks iga sõlme kohta, mitme sammu kaugusel on see algsest massiivist. Algsõlme kaugus iseenese juurde on 0. Sõlmede juurde, kuhu pääseb ühe servaga, on kaugus 1. Sammu võrra kaugemate sõlmede juurde saab kauguseks kirjutada 2 jne. Sõlmede kaugus, kuhu pole üldse võimalik jõuda, tuleb tähistada mõne võimatu väärtusega. Näiteks miinus 1ga. Esialgu võiks sellega tähistada kõik väärtused kaugustemassiivis. Edaspidi saab ligipääsetavate tippude kaugustele hakata väärtusi jagama. Algustipu saab kaugustemassiivis kergesti tähistada 0-ga. Algustipu järjekorranumber on meil paratamatult olemas. Edasi tuleks tähistada ühtedega kõikide tippude kaugused, kuhu pääseb algtipust ühe servaga. Ja nõnda edasi. Et ei peaks iga kauguse kohta eraldi programmilõiku kirjutama, võiks aidata tsükkel. Kõigepealt võetakse uurimise alla algtipp (kaugusega 0) ning leitakse 1 serva kaugusel olevad tipud. Siis võetakse uurimise alla 1 serva kaugusel asuvad tipud ning leitakse 2 serva kaugusel asuvad tipud. Siis võetakse ette 2 serva kaugusel asuvad tipud ning leitakse 3 serva kaugusel asuvad tipud. Tsüklit on mõtet jätkata seni, kuni leiti uusi, kaugemal asuvaid tippe. Kord juba vaadeldud tippude kaugust pole enam mõtet muuta, sest paratamatult oli esimene külastus kõige lähim. Kui enam uusi ligipääsetavaid tippe ei leita, ongi massiivis kirjas iga tipu kohta, mitme sammu kaugusel see algsest tipust on. Ülesandeid * Koosta mällu kahemõõtmeline massiiv näitamaks graafis olevaid servi. * Teata, millistesse sõlmedesse pääseb sõlmest number 3. * Koosta kauguste massiiv, kus tipu number 3 kauguseks on 0, temast ühe serva kaugusel olevate tippude kauguseks märgitakse 1. * Täienda programmi nõnda, et näidatakse ka need tipud, mille kauguseks tipust 3 on 2. * Pane programm tööle tsükliga nõnda, et leitaks kõik ligipääsetavad tipud. * Trüki iga tipu kaugus servades tipust 3. Samuti teata, millistesse tippudesse pole servi pidi võimalik tipust 3 pääseda. * Katseta programmi ka teistsuguse algtipu korral. * Koosta loetelu asulatest. * Graafis tähista ära asulaid ühendavad bussiliinid. * Küsi kasutajalt kahe asula nimi. * Väljasta, kas nende vahel on võimalik otse bussiga sõita. * Teata, kas ühest asulast teise üldse bussiga saab * Teata, mitu ümberistumist on vaja.