1TX Algoritmen en datastructuren 2

Uit Diana's examenwiki

Juni 2015

Marina Lens

Mondeling


(3 Vragen, samen op 6 punten)

A. Wat is het verschil tussen een TreeMap en een HashMap.

B. Stuk code met een TreeMap en een HashMap - Teken de geheugenstructuur

C. Stuk code waarbij de print methode moet geimplementeerd worden (keys van HashMap tonen met de values)

D. Output van print methode geven (opletten hoe het gesorteerd is)

Schriftelijk


(6 punten) ...

Klasse waarbij je de resultaten van een aantal studenten moet uitlezen uit een file en een output moet geven in de vorm van:

     Aantal niet deelgenomen: ...
     categorie 1 (bv 0-4): aantal
     categorie 2 (bv 4-8): aantal
     categorie 3 (bv 8-12): aantal
     categorie 4 (bv 12-16): aantal
     categorie 5 (bv 16-20): aantal
     Totaal aantal deelnames: ...

In de methode om deze output te genereren krijg je als variabele (int interval) mee waarmee je dan de verschillende categorieën moet maken. Als 2e vraag hierbij moet je dezelfde methode bijna vlekkeloos overnemen, maar nu moeten er in plaats van de aantallen, de namen van de studenten getoond worden.


Duid aan wat correct is:

   * Een LinkedList kan met Random Access
   * Een stack kan geimplementeerd worden met LinkedList
   * ...
   * ...

Juni 2014

Marina Lens

Mondeling


(3 Vragen, samen op 6 punten)

A. Wat is het verschil tussen een TreeSet en een HashSet.

B. Een klasse T implementeert de Comparable interface door een compareTo method die objecten vergelijkt op instantie-variabele1. Hoe kan men een List<T> sorteren op basis van een andere instantie variabele (instantie-variabele2)

C. Leg uit hoe de TreeSet geïmplementeerd is. Toon aan hoe het toevoegen van een object gebeurt a.d.h. van een voorbeeld

Schriftelijk


(6 punten) ...

Juni 2013

Pieter Hens

Mondeling


(2 vragen, 3 punten elk) -Wat is Rehashing (leg uit en maak er een schets bij van hoe het werkt en waarom het gebeurt) -Wat is een goede Hashcode? + een hashcode schrijven voor een klasse Persoon (int leeftijd, String voornaam, String naam). (Goede hashcode zou bv kunnen zijn: leeftijd*5+voornaam.hashcode()+achternaam.hashcode())


Schriftelijk


(2 vragen, 1ste op 2 punten, 2de op 4 punten) - een Klasse die overerft van de klasse List en je moet de add methode override en zorgen dat er op de juiste plaats wordt toegevoegd(volgorde op basis van een comparator) - Verder gaand op de vorige vraag moet je een controller klasse maken die dan de lijst gebruikt die je had gemaakt om dan toe te voegen op de juiste plaats waarbij je eerst kijkt naar leeftijd en anders op natuurlijke sortering van String.


Juni 2012

Elke Steegmans

Mondeling


Een oefening dat ze een verzameling wil bijhouden van javaboeken en je moet makkelijk kunnen tussenvoegen en elk boek mag maar 1 exemplaar bevatten - Welke collectie - Declareer de nodige rijen - implementeer de methode om te kunnen tussenvoegen - Leg uit hashcode, linkedHashset, rehashing, hashSet

Welke orde(O) heb je bij het toevoegen bij een Hashset

Schriftelijk


- Geheugen tekenen - sorted een code, en je moest zeggen wat er uitgevoerd werd na een bepaalde lijn

Jan Pellegrims

Mondeling


Theorie (3pt)

Geef een gedetailleerde beschrijving van de volgende begrippen (uitleg + tekening/code) a. Indirecte recursie b. Rehashing

Praktijk (3pt)

Een vraag over een koeienschoonheidswedstrijd a. Welke collectie b. Waarom? c. Wat kan deze collectie? (kenmerken van de collectie) d. Implementeer met belangrijkste methoden

Schriftelijk


Theorie (3pt)

Geef de kenmerken van Set, Map en List.

Praktijk (3pt)

Implementeer een klasse voor een oefening over een wachtrij met klanten. Sommige klanten zijn 'goede klanten' en mogen voorsteken. Klasse klant is gemaakt, implementeer klasse Aanschuifsysteem met methoden nieuweKlant(Klant klant) en bedien(). Bij het bedienen moet de naam op een scherm weergeven worden (System.out.println) en de klant moet uit de wachtrij verwijderd worden.

Juni 2011

Frans Sanen

Mondeling


Maak een programma dat auto's bijhoudt. Elke auto heeft één of meer eigenaars. Maak methodes om auto's toe te voegen, een eigenaar op te vragen aan de hand van een nummerplaat, en een methode om alle auto's af te printen.

Vraag a: Welk Collection heb je gekozen en teken het klassediagram. Vraag b: Werk de klasses uit en schrijf ook een main methode om aan te tonen dat je alles kan uitvoeren.

Schriftelijk


Testing: Gegeven een methode berekenBMI(lengte, gewicht). Schrijf alle test cases.

Geheugen tekenen: Gegeven een stuk code en teken per stap het geheugen.

Elke Steegmans

Mondeling


Ze willen een puntenlijst bijhouden met studenten. Een student heeft een naam, punten, studentennummer en reeksnummer. Er moet gesorteerd kunnen worden op naam en punten. Ook moeten gegevens makkelijk kunnen worden toegevoegd. Zorg ook dat de puntenlijst kan weg worden geschreven naar een "puntenlijs.txt".

Vraag a: Welk Collection heb je gekozen en waarom? Arraylist. Je kan dan op meer dan 1 ding sorteren. vraag b: Werk de klasses uit en schrijf ook een main methode om aan te tonen dat je alles kan uitvoeren.

Schriftelijk


Testing: Gegeven een methode divideBreuk(teller,noemer). Schrijf alle test cases.

Geheugen tekenen: Gegeven een stuk code en teken per stap het geheugen.


Marina Lens

Mondeling


Vraag 1 (6/10): Er wordt gevraagd om een kaartspel te programmeren. Een kaartspel bestaat uit 52 kaarten en een kaart bezit een nummer (1-13), type (Klaveren, Ruiten, Schoppen, Harten) en kleur (Zwart, Rood). Het moet mogelijk zijn om het kaartspel op te slaan in een database.

Vraag A: Welke Collections gebruik je voor deze datastructuur? Hierbij worden er API's voorzien van List, Map en Set (enkel van de superklasses). Hashset, elk kaart komt maar 1 keer voor.

Vraag B: Stel het klassendiagram op en werk elke klasse uit op papier. Ontwerp ook een main methode die al de functionaliteiten van je andere klasses gebruikt.


Schriftelijk


Vraag 2 (2/10): Stel de klasse Euro (zonder de java-implementatie te zien) waarin we kunnen rekenen met Euro's. In deze klasse bevindt er zich een methode subtract(double bedrag). Werk nu voor deze methode alle testcases uit.

Vraag 3 (2/10): Schrijf een recursief programma dat tussen alle letters van een woord een * plaatst. Zo wordt 'hallo' dus 'h*a*l*l*o'. Achter de laatste letter van het woord mag dus geen * komen. (Oplossing van Tom Stroobants)