package Ġorg . jetbrains . research . k the l per . algorithm Ċ Ċ interface ĠGraph < T Ġ: ĠGraph . Vertex < T >> Ġ{ ĊĠĠĠ Ġval Ġentry : ĠT ĊĠĠĠ Ġval Ġnodes : ĠSet < T > ĊĊĠĠĠ Ġinterface ĠVertex < out ĠT Ġ: ĠVertex < T >> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsuccess ors : ĠSet < T > ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġfind Entries (): ĠSet < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġhas Entry Ġ= Ġnodes . associate With Ġ{ Ġfalse Ġ}. to Mutable Map () ĊĠĠĠĠĠĠĠ Ġfor Ġ( node Ġin Ġnodes ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnode . success ors . forEach Ġ{ Ġhas Entry [ it ] Ġ= Ġtrue Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġhas Entry . filter Ġ{ Ġ! it . value Ġ}. keys ĊĠĠĠ Ġ} Ċ } Ċ Ċ interface ĠPre decessor Graph < T Ġ: ĠPre decessor Graph . Pre decessor Vertex < T >> Ġ: ĠGraph < T > Ġ{ ĊĠĠĠ Ġinterface ĠPre decessor Vertex < out ĠT Ġ: ĠPre decessor Vertex < T >> Ġ: ĠGraph . Vertex < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpre decess ors : ĠSet < T > ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġ< T Ġ: ĠGraph . Vertex < T >> ĠSet < T >. as Graph (): ĠGraph < T > Ġ= Ġobject Ġ: ĠGraph < T > Ġ{ ĊĠĠĠ Ġoverride Ġval Ġentry : ĠT ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġthis @ as Graph . first () ĊĠĠĠ Ġoverride Ġval Ġnodes Ġ= Ġthis @ as Graph Ċ } Ċ