SS2011 Aufgabe 3 Streutabelle

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

SS2011 Aufgabe 3 Streutabelle
Hallo,

in SS2011 Aufgabe 3 a) soll in der Methode exists der Klasse Zonegeprüft werden, ob bereits mindestens ein Eintrag für einen gegebenen Streuwert vorhanden ist. Falls h größer ist als die derzeitige Größe der Streutabelle, existiert der Eintrag nicht.


Um die IP 131.188.32.30 des Servers mit der URL www2.cs.fau.de her- auszufinden, wird aus der (in zwei ArrayLists ohne null-Referenzen gespeicherten) Streutabelle einer Zone die zugeho ̈rige IP nachgeschla- gen. Kollisionen innerhalb einer Zone sollen in ArrayLists verwaltet werden (z.B. google.de und www2.cs.fau.de mit Streuwert 47). Der In- dex in der Kollisionsliste der URLs entspricht dem Index des Eintrags in der Kollisionsliste der IPs (z.B. www2.cs.fau.de ⇔ 131.188.32.30 an Index 1).

FSI-Lösungsvorschlag:

class Zone {
    private ArrayList<ArrayList<String>> urls = 
                        new ArrayList<ArrayList<String>>();
    private ArrayList<ArrayList<String>> ips = 
                        new ArrayList<ArrayList<String>>();
    public int hash (String url) {/* tricky, >=0, maybe >= urls.size() */}

    boolean exists(int h) {
	if(h >= urls.size() || urls.get(h).isEmpty())
		return false;
 
	return true;
}

1. Was genau sind Zonen?
2. warum heisst es im if-statement “>=” wobei in der Aufgabenstellung steht "falls h grösser ist als die derzeitige Größe der Streutabelle?

Liebe Grüße,
Speedy


1.) Das ist eine Anfgabe die in der Vorlesung vom Herrn Oster vorgestellt wurde.

2.) Aufgabenstellung meint vermutlich >=, denn h ist >=0, weshalb garantiert bei 0 mit der indizierung in der Hashtabelle begonnen wird.
Das heißt, wenn h == Größe der arrayList, dann könnte man auf den Index nicht zugreifen, da der größte Index == Größe der ArrayList-1;

3.) Was eine Zone ist ist irrelevant für die Aufgabe…Meint vermutlich den Zuständigkeitsbereich des Domainservers