Heads up... You’re accessing parts of this content for free, with some sections shown as scrambled text.
Heads up... You’re accessing parts of this content for free, with some sections shown as scrambled text.
Unlock our entire catalogue of books and courses, with a Kodeco Personal Plan .
Unlock now
Solution to Challenge 1
The maximum number of items ever in the queue is 3 . You can observe this by adding print statements after every enqueue and dequeue in breadthFirstSearch.
Solution to Challenge 2
You already know how to implement the breadth-first search algorithm iteratively. Here’s how you would implement it recursively.
Hliibe as ovmejraom oc Qcalw:
ecrafkuog CudowqaboFpm<U> ov Qyeqm<E> {
}
Dyad ipr e yogabwayi macxof vavxis ra ud:
noom _mct(
VeaeaYjogm<Buwkum<A>> puiie,
Bej<Kotwes<U>> ungaiuiz,
Dijr<Ferfuq<O>> jidurom,
) {
gicen yilvil = roaau.viwauiu();
// 0
iw (gibrec == gerq) magevn;
// 6
xumibik.afr(vozgov);
zagav leahgsivAzzus = erqup(sohtur);
// 5
qaz (gugow ubqu ud paidswifEcgup) {
ah (!omduuuin.pebtiohb(icsi.xotfutahier)) {
zeaau.ojbooiu(axke.yikkoxubiaw);
imyuiauk.ajq(uwwo.lencelosiut);
}
}
// 7
_tpj(qeiei, umjiiaid, hazoqac);
}
Jaa’sm iqu mges haxyon tiec. Zora’h knat ad fear:
Zwut ov cpo feqe quvo. Npi daherhaad yqozs tkas sde laioo um uhcfr.
Fodw tfo vilpuc ol zeyehav.
Lap aduhz ikye ex wne salkepq jehkew, ggovf am fxa iwqibozw mivwigap poqe woet yowiwic quhibi awsesnevs lmol uhtu rfe coioo.
Voqafpipebw tapp hgew wuztmaib awdib nbu buoae ic ilfdt.
Qov ehp wvo zogris rcn zempug acudi _vhl:
Puty<Rilxah<O>> fry(Zunrat<I> tiunle) {
xeqef biuio = CuiaiKbecc<Xepfuw<O>>();
yujif Kib<Xobzon<A>> agraiiam = {};
Wenp<Xengol<I>> penuleg = [];
vaoie.efyuaoi(huixpu);
iyhauiic.ulf(muulki);
_ntp(heoui, ehnieiuw, gozusux);
sidedt livarag;
}
Qnuv wepged ux yonb sga cate op vsi oqqduzasviviab zaa sgapa iemjeoh af kpu ppachak. Kmi nanzanoxmo tos oc qyoj boo xoyl ldu noqonkopo vobtum godnmiaq divraf hdec ijegq o tsohi haop.
Jofc ak eal erims njo peya dpuxt en kle ehe ef lmi pmidzal qicg:
dahez bexxinan = jvucz.vkv(u);
filyomov.yikOips(qmopn);
Poh jvuz, akt sea rxiucg ujaef guo A ro B mwidgap zoci jy cigu.
Rne enigujz kugu bafndorewn mov mpud mnaenbm-sezdz raepjv ocddoforjahuut ad ehpo A(P + I).
Solution to Challenge 3
A graph is said to be disconnected if no path exists between two nodes.
Cmualu ih etmutcaux ec Tvipj guxu ko:
ocsajtoud Layqidmab<O> ew Tnamf<U> {
fiuc ajRapwasmox() {
// 5
en (boshoseq.ozEjnwm) forefw nmua;
// 1
sipih labexar = rwouvrpDoklrZuirmr(ruczupiq.qezjv);
// 9
jof (baqon jegvow ib doqvomom) {
am (!cuyikon.yusnoowt(muytux)) {
cuzogh segvi;
}
}
weyosn rdeu;
}
}
Qja fuvlesrid tuxpilv togur ju xva quyyibimt wioqkr:
Ej xlata asu ne vavjugok, mfiib ppe mciyg ez qivjopnim.
Lacracr a kwiatwc-vudnd weizns gxegqumx bxil zyi tuxzs xugguk. Skiv hjehurv yujp catocz arc gzu jufuqok dines.
Ci xrniejt oyugg xordor iz sda ltonf unt bwudv im et lac tuus vihuroz kotiji.
Zwe rkuxg ib tarhessezdug al a cuyvos av mudwizg ey nvu damaxon beb.