Gegeven is een groep personen die elkaar al dan niet kennen. Indien een persoon door iedereen uit de groep gekend is maar zelf niemand kent, zeggen we dat deze persoon beroemd is. Implementeer een efficiënt algoritme om een beroemdheid op te sporen door zo weinig mogelijk vragen te stellen van de vorm “kent persoon a persoon b?”
De klasse Persoon1 en interface
Zoeker2 zijn voorzien. De interface Zoeker heeft
één enkele methode Persoon zoekBeroemdheid(groep)
die een beroemdheid
opspoort in een gegeven groep. Indien er geen beroemdheid is, dan geeft de
methode null terug. Aan een persoon kan je vragen of die een andere gegeven
persoon kent. Het is niet toegelaten om de meegeleverde klasse of
interface te wijzigen.
Schrijf een klasse MijnZoeker die de interface Zoeker implementeert. Voorzie geen expliciete constructor of voorzie één zonder argumenten. De correctheid van je code wordt automatisch getest, de efficiëntie denk je zelf over na.
Je kan je code lokaal testen door SimpleTest3 aan te passen.