Übung 10

Benutzeravatar
JannikV
Nerd
Nerd
Beiträge: 609
Registriert: 24. Apr 2011 12:42

Re: Übung 10

Beitrag von JannikV »

Ja, du nimmst dir die leere Hashtabelle und fängst an die unten angegebenen Werte einzufügen. In der Reihenfolge. Und dann soll man bemerken dass es nicht mit dem Beispielbild zusammenpasst. (wobei die Übung halt derzeit so konzipiert ist dass man mit i = 0 beginnt, Prof. Weihe aber mit i = 1 anfangen möchte. vll ändert sich am Blatt noch was?!)

VG

khaled
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 102
Registriert: 28. Mai 2012 01:16

Re: Übung 10

Beitrag von khaled »

Ok, jetzt habe ich es verstanden, vielen dank^^

KlaMü
Erstie
Erstie
Beiträge: 18
Registriert: 22. Apr 2012 01:21

Re: Übung 10

Beitrag von KlaMü »

Die Übung ist doch schon wieder falsch?!?

Sie ist eindeutig auf i=0 ausgelegt.

Dann würde aber sogar die Hashfunktion des linear probing aus den Kritzeleien (12-06-2012) etwas falsches generieren:

F(i,N,K) = F(1,N,K) + i - 1

Hierbei könnte für F(1,N,K) doch 0 rauskommen. Wenn wir mit i=0 anfangen würde dann gelten: F(i,N,K) = 0 + 0 - 1 = -1

Es muss also mit i=1 angefangen werden. Das Übungsblatt "will" jedoch mit i=0 anfangen so wie ich das sehe.
Und wieder geht mehr Zeit aufgrund Verwirrung bzgl. falscher Aufgabenstellung drauf wie für die eigentliche Bearbeitung...

bagwell
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 109
Registriert: 15. Nov 2010 09:18

Re: Übung 10

Beitrag von bagwell »

Wie kommt ihr eigentlich darauf, dass das Übungsblatt mit i=0 anfangen will?

Für K=17 kommt wenn man mit i=1 anfängt die Position 12 raus (was wenn man sich die Tabelle anschaut gar nicht so unwahrscheinlich ist).

Die Konsequenz daraus ist halt, dass immer doppelt gehasht wird (mit F1 und F2) und nicht nur wenn es mit der ersten Hash-Funktion einen Miss gab.
Was spricht denn dagegen?

Benutzeravatar
JannikV
Nerd
Nerd
Beiträge: 609
Registriert: 24. Apr 2011 12:42

Re: Übung 10

Beitrag von JannikV »

Hast du die neue Version des Blattes? Ich weiß nicht mehr genau was gegen i = 1 spricht, hatten das mal ausprobiert und hat nicht geklappt. Kamen äußerst unsinnige Ergebnisse raus. Haben daraufhin mit dem Tutor gesprochen, der das Übungsblatt erstellt hat und er meinte wir sollen mit i = 0 anfangen. Scheinbar gab es ein Missverständnis in der Organisation. Kann man jetzt nichts machen...

VG

khaled
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 102
Registriert: 28. Mai 2012 01:16

Re: Übung 10

Beitrag von khaled »

Nur um sicher zu sein sollten wir mit i = 0 oder 1 anfangen, ich weiß dass die Aufgabe mit i=0 mehr sinn macht aber es widerspricht Wiki.

Benutzeravatar
JannikV
Nerd
Nerd
Beiträge: 609
Registriert: 24. Apr 2011 12:42

Re: Übung 10

Beitrag von JannikV »

Wurde doch jetzt schon x mal geschrieben: Der Tutor hat die Aufgabe mit erstem i = 0 konzipiert. So kann man die Aufgabe auch grundsätzlich erstmal bearbeiten um beim Testat ein Ergebnis präsentieren zu können. Aufgrund eines Missverständnisses ist das ganze aber nicht korrekt. Prof. Weihe möchte i bei 1 anfangen lassen, wie es auch im Wiki steht. Es stimmt momentan halt nicht überein. Aber Laut Veranstalter gilt ja dass auch alte Versionen von Blättern bearbeitet und abgegeben werden können. Von daher mache ich das so, dass ich das Blatt im Sinne des Aufgabenstellers bearbeite und dann im Testat ja dazu sagen kann, dass man eigentlich erst bei 1 anfängt. Da wird einem schon niemand den Kopf für abreißen..

VG

KlaMü
Erstie
Erstie
Beiträge: 18
Registriert: 22. Apr 2012 01:21

Re: Übung 10

Beitrag von KlaMü »

bagwell hat geschrieben:Wie kommt ihr eigentlich darauf, dass das Übungsblatt mit i=0 anfangen will?

Für K=17 kommt wenn man mit i=1 anfängt die Position 12 raus (was wenn man sich die Tabelle anschaut gar nicht so unwahrscheinlich ist).

Die Konsequenz daraus ist halt, dass immer doppelt gehasht wird (mit F1 und F2) und nicht nur wenn es mit der ersten Hash-Funktion einen Miss gab.
Was spricht denn dagegen?
Ich wünsche dir beim Vorgehen mit i=1 viel Spaß dabei, die Werte so zu ordnen, dass die Tabelle erzeugt wird, wie in der weiteren Aufgabenstellung gefordert ;)

Vorlesung stimmt, Übung nicht...

bagwell
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 109
Registriert: 15. Nov 2010 09:18

Re: Übung 10

Beitrag von bagwell »

Also ich konnte die Gesamte Aufgabe 10.1 beginnend bei i=1 lösen :|

Anbei ne Tabelle für F(i,N,K) mit i=1,...,7 und N=13
Dateianhänge
10.1.PNG
10.1.PNG (47.63 KiB) 222 mal betrachtet

stardeath
Neuling
Neuling
Beiträge: 7
Registriert: 13. Apr 2012 22:32

Re: Übung 10

Beitrag von stardeath »

Du hast offensichtlich die alte Version des Blattes - in der neuen Version wird die 17 auf Platz 4 gelegt, nicht mehr auf Platz 12!

onbes
Mausschubser
Mausschubser
Beiträge: 98
Registriert: 30. Jul 2011 18:43

Re: Übung 10

Beitrag von onbes »

Ich frage mich wie man für den Index 12 in der Tabelle auf void kommen soll wenn man mit i = 1 anfängt.... (also für den letzten Teil der Aufgabe 10.1)

bagwell
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 109
Registriert: 15. Nov 2010 09:18

Re: Übung 10

Beitrag von bagwell »

stardeath hat geschrieben:Du hast offensichtlich die alte Version des Blattes - in der neuen Version wird die 17 auf Platz 4 gelegt, nicht mehr auf Platz 12!

Das erklärt einiges!

Jo dann muss man wohl doch mit i=0 anfangen :oops:

KlaMü
Erstie
Erstie
Beiträge: 18
Registriert: 22. Apr 2012 01:21

Re: Übung 10

Beitrag von KlaMü »

onbes hat geschrieben:Ich frage mich wie man für den Index 12 in der Tabelle auf void kommen soll wenn man mit i = 1 anfängt.... (also für den letzten Teil der Aufgabe 10.1)
In der neuen Version der Übung evtl. garnicht. Vielleicht gibt es eine Lösung dafür, jedoch ist diese nur kompliziert zu "erraten". Mit i=0 geht es einfach, da nur 2 Werte in einer anderen Reihenfolge eingefügt werden müssen.

Antworten

Zurück zu „Archiv“