Drop hier links of afbeeldingen om ze aan de editor toe te voegen.

Gegeven zijn twee gesorteerde lijsten van lengte \(m\) en \(n\). Je mag veronderstellen dat alle elementen in de lijsten verschillend zijn. Gevraagd wordt het \(k\)-de kleinste element in de unie van de twee lijsten te bepalen.

Ontwerp en implementeer een algoritme met tijdscomplexiteit \(\Theta(\log m + \log n)\) voor dit probleem.

Opgave

Schrijf een klasse KdeKleinsteElementBepalen die de interface ElementBepalen implementeerd.

Deze interface bevat de methode int kdeKleinsteElement(Integer[] rij1, Integer[] rij2, int k) die, gegeven 2 lijsten, het k’de kleinste element van die 2 lijsten teruggeeft.

Opgelet

k begint van 1 te tellen. Het allerkleinste element zoeken van de lijsten n en m zou dus kdeKleinsteElement(n, m, 1) zijn.

Gebruik eventueel de testklasse SimpleTest om je oplossing lokaal te testen. Je kan hierin eenvoudig extra testgevallen toevoegen.