Aufgabe 11.2 - SkipList

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.

Aufgabe 11.2 - SkipList
Hallo zusammen!

Eine kurze Frage zum Hinweis:
β€œDie hΓΆchste Ebene, die ein einzufΓΌgendes Element erreicht, wird beim EinfΓΌgen zufΓ€llig bestimmt.
Implementieren Sie hierfΓΌr die Methode getRandomLevel() und nutzen Sie die Methode nextBoolean() der schon vorhandene Instanz des Random-Objekts.”

Im Zusammenspiel mit den Forderungen, wie die Ebenenverteilung erfolgen soll, ist mir gerade nicht so ganz klar, wie zur Berechnung der obersten Ebene die Methode β€œnextBoolean()” Anwendung finden soll.
Kann mir da jemand weiterhelfen?

Vielen Dank!


Sieh’s als MΓΆglichkeit, einen MΓΌnzwurf zu simulieren. Hilft das?


Ja, das hilft :slight_smile:

Das heißt aber auch, dass ich eine bestimme Anzahl mal eine β€žMΓΌnze werfen mussβ€œ und dann daraus die Ebene berechnen. Ist das so dann als Folgerung korrekt?


HΓΆrt sich nicht verkehrt an :wink:


Hab nach langem Kampf die Aufgabe nun endlich fertig(?), bekomme keine Ausgabe außer der einen durch formatContent(), also auch keine Fehler, bekomme aber trotzdem ein ! auf EST. Bevor ich vielviel Zeit damit verschwende, ist denn in EST alles korrekt? Falls ja, mag jemand mit einem Haken eine Ausgabe von formatContent() posten? Danke :slight_smile:


Auch wenns vielleicht nicht fΓΌr alle Methoden mit einem TODO einen [m]main[/m]-Test gibt, sollten Sie implementiert werden :wink:

Ich werd spΓ€ter mal aber den Test der entsprechenden Methode von der Anzeige im EST abkoppeln.


Soll das head-Objekt der SkipList an sich denn auch einen Wert speichern?
Oder soll β€œhead” in SkipList nur den Anfang markieren ohne einen Wert zu enthalten?


[m]head[/m] verwaltet nur die Zeiger, wie auf dem Bild angedeutet.


Okay. Das macht die Sache einfacher :slight_smile:

Vielen Dank fΓΌr die zΓΌgigen Antworten!


Verstehe ich das richtig dass die SkipNodes die einzelnen BlΓΆcke im Bild darstellen sollen? D.h. Das Element 1 wird im Bild durch vier SkipNodes reprΓ€sentiert? und was genau wird dann im Array next gespeichert?


Nein, durch eine Instanz von [m]SkipNode[/m]. Eine [m]SkipNode[/m] stellt die ganze β€žSΓ€uleβ€œ dar.

In [m]next[n][/m] steht der Nachfolger auf Ebene [m]n[/m]

1 Like

KΓΆnnte bitte jemand einen korrekten Output posten, damit ich abschΓ€tzen kann, ob ich auf dem richtigen Weg bin.

Danke!


wΓ€re es dann nicht logischer die LΓ€nge von β€žnextβ€œ auf β€žlevelβ€œ zu beschrΓ€nken?


Output in Eclipse bei grΓΌnem Haken:

Edit: β€žDer Beitrag ist zu lang. Es sind maximal 40000 Zeichen zulΓ€ssig.β€œ

23 910 β†’ 10084 β†’ 24406
.
.
.
00 78 β†’ 128 β†’ 152 β†’ 209 β†’ 262 β†’ 308 β†’ 327 β†’ 361 β†’ 402 β†’ 435 β†’ 460 β†’ 557 β†’ 739 β†’ 808 β†’ 810 β†’ 816 β†’ 863 β†’ 884 β†’ 902 β†’ 910 β†’ 997 β†’ 1010 β†’ 1014 β†’ 1058 β†’ 1112 β†’ 1128 β†’ 1223 β†’ 1241 β†’ 1340 β†’ 1342 β†’ 1457 β†’ 1477 β†’ 1535 β†’ 1575 β†’ 1590 β†’ 1713 β†’ 1774 β†’ 1795 β†’ 1828 β†’ 1885 β†’ 1898 β†’ 1951 β†’ 1959 β†’ 1981 β†’ 1988 β†’ 1995 β†’ 2035 β†’ 2040 β†’ 2095 β†’ 2361 β†’ 2438 β†’ 2515 β†’ 2536 β†’ 2615 β†’ 2646 β†’ 2727 β†’ 2765 β†’ 2799 β†’ 2851 β†’ 2853 β†’ 2908 β†’ 2954 β†’ 3004 β†’ 3016 β†’ 3024 β†’ 3186 β†’ 3215 β†’ 3216 β†’ 3278 β†’ 3304 β†’ 3390 β†’ 3399 β†’ 3480 β†’ 3523 β†’ 3577 β†’ 3609 β†’ 3626 β†’ 3827 β†’ 4006 β†’ 4107 β†’ 4125 β†’ 4245 β†’ 4274 β†’ 4306 β†’ 4342 β†’ 4405 β†’ 4411 β†’ 4430 β†’ 4483 β†’ 4563 β†’ 4641 β†’ 4710 β†’ 4714 β†’ 4728 β†’ 4905 β†’ 4986 β†’ 4987 β†’ 5085 β†’ 5086 β†’ 5091 β†’ 5227 β†’ 5234 β†’ 5435 β†’ 5471 β†’ 5550 β†’ 5696 β†’ 5750 β†’ 5801 β†’ 5870 β†’ 5898 β†’ 5989 β†’ 6063 β†’ 6121 β†’ 6170 β†’ 6336 β†’ 6340 β†’ 6344 β†’ 6456 β†’ 6502 β†’ 6524 β†’ 6671 β†’ 6735 β†’ 6757 β†’ 6770 β†’ 6959 β†’ 6967 β†’ 7049 β†’ 7178 β†’ 7203 β†’ 7247 β†’ 7248 β†’ 7293 β†’ 7323 β†’ 7337 β†’ 7341 β†’ 7348 β†’ 7411 β†’ 7414 β†’ 7494 β†’ 7566 β†’ 7741 β†’ 7859 β†’ 7887 β†’ 7909 β†’ 7913 β†’ 7939 β†’ 7975 β†’ 7998 β†’ 8017 β†’ 8022 β†’ 8053 β†’ 8134 β†’ 8200 β†’ 8214 β†’ 8222 β†’ 8360 β†’ 8416 β†’ 8422 β†’ 8555 β†’ 8602 β†’ 8625 β†’ 8648 β†’ 8672 β†’ 8739 β†’ 8770 β†’ 8837 β†’ 8847 β†’ 8891 β†’ 8893 β†’ 8939 β†’ 9019 β†’ 9042 β†’ 9067 β†’ 9105 β†’ 9164 β†’ 9205 β†’ 9254 β†’ 9276 β†’ 9280 β†’ 9383 β†’ 9410 β†’ 9438 β†’ 9446 β†’ 9474 β†’ 9479 β†’ 9541 β†’ 9588 β†’ 9647 β†’ 9757 β†’ 9760 β†’ 9773 β†’ 9775 β†’ 9824 β†’ 9836 β†’ 9945 β†’ 10001 β†’ 10028 β†’ 10084 β†’ 10086 β†’ 10114 β†’ 10149 β†’ 10174 β†’ 10192 β†’ 10284 β†’ 10295 β†’ 10364 β†’ 10423 β†’ 10430 β†’ 10467 β†’ 10500 β†’ 10522 β†’ 10548 β†’ 10552 β†’ 10554 β†’ 10571 β†’ 10802 β†’ 10831 β†’ 10844 β†’ 10889 β†’ 10956 β†’ 11041 β†’ 11083 β†’ 11155 β†’ 11179 β†’ 11232 β†’ 11362 β†’ 11404 β†’ 11420 β†’ 11478 β†’ 11505 β†’ 11625 β†’ 11800 β†’ 11814 β†’ 11849 β†’ 12099 β†’ 12119 β†’ 12150 β†’ 12193 β†’ 12290 β†’ 12628 β†’ 12667 β†’ 12702 β†’ 12782 β†’ 12794 β†’ 12798 β†’ 12807 β†’ 13000 β†’ 13053 β†’ 13065 β†’ 13095 β†’ 13142 β†’ 13159 β†’ 13186 β†’ 13197 β†’ 13240 β†’ 13276 β†’ 13327 β†’ 13328 β†’ 13349 β†’ 13375 β†’ 13438 β†’ 13487 β†’ 13561 β†’ 13613 β†’ 13654 β†’ 13669 β†’ 13672 β†’ 13805 β†’ 13835 β†’ 13853 β†’ 13943 β†’ 13958 β†’ 14025 β†’ 14033 β†’ 14105 β†’ 14132 β†’ 14160 β†’ 14187 β†’ 14237 β†’ 14262 β†’ 14334 β†’ 14343 β†’ 14354 β†’ 14434 β†’ 14451 β†’ 14500 β†’ 14576 β†’ 14592 β†’ 14598 β†’ 14629 β†’ 14638 β†’ 14640 β†’ 14682 β†’ 14957 β†’ 14975 β†’ 14998 β†’ 15117 β†’ 15174 β†’ 15181 β†’ 15216 β†’ 15220 β†’ 15224 β†’ 15304 β†’ 15317 β†’ 15363 β†’ 15460 β†’ 15522 β†’ 15620 β†’ 15677 β†’ 15693 β†’ 15721 β†’ 15898 β†’ 15942 β†’ 15961 β†’ 15977 β†’ 16045 β†’ 16047 β†’ 16165 β†’ 16171 β†’ 16333 β†’ 16373 β†’ 16381 β†’ 16386 β†’ 16394 β†’ 16453 β†’ 16476 β†’ 16568 β†’ 16636 β†’ 16648 β†’ 16661 β†’ 16678 β†’ 16718 β†’ 16723 β†’ 16771 β†’ 16805 β†’ 16974 β†’ 17046 β†’ 17159 β†’ 17161 β†’ 17246 β†’ 17281 β†’ 17307 β†’ 17396 β†’ 17399 β†’ 17404 β†’ 17435 β†’ 17453 β†’ 17590 β†’ 17682 β†’ 17762 β†’ 17795 β†’ 17823 β†’ 17848 β†’ 18023 β†’ 18030 β†’ 18036 β†’ 18066 β†’ 18117 β†’ 18184 β†’ 18292 β†’ 18323 β†’ 18365 β†’ 18408 β†’ 18417 β†’ 18421 β†’ 18452 β†’ 18684 β†’ 18747 β†’ 18842 β†’ 18883 β†’ 18907 β†’ 18945 β†’ 19100 β†’ 19110 β†’ 19132 β†’ 19185 β†’ 19213 β†’ 19280 β†’ 19338 β†’ 19356 β†’ 19359 β†’ 19360 β†’ 19434 β†’ 19441 β†’ 19456 β†’ 19467 β†’ 19494 β†’ 19503 β†’ 19517 β†’ 19527 β†’ 19573 β†’ 19594 β†’ 19614 β†’ 19644 β†’ 19790 β†’ 19864 β†’ 19886 β†’ 19895 β†’ 19912 β†’ 20000 β†’ 20046 β†’ 20096 β†’ 20106 β†’ 20123 β†’ 20212 β†’ 20216 β†’ 20227 β†’ 20231 β†’ 20303 β†’ 20358 β†’ 20411 β†’ 20483 β†’ 20536 β†’ 20545 β†’ 20560 β†’ 20581 β†’ 20717 β†’ 20746 β†’ 20748 β†’ 20764 β†’ 20777 β†’ 20823 β†’ 20866 β†’ 20875 β†’ 20922 β†’ 20926 β†’ 20947 β†’ 20992 β†’ 21016 β†’ 21017 β†’ 21021 β†’ 21157 β†’ 21190 β†’ 21245 β†’ 21322 β†’ 21399 β†’ 21422 β†’ 21423 β†’ 21482 β†’ 21483 β†’ 21494 β†’ 21543 β†’ 21592 β†’ 21617 β†’ 21618 β†’ 21686 β†’ 21812 β†’ 21838 β†’ 21848 β†’ 21882 β†’ 21932 β†’ 21974 β†’ 21998 β†’ 22128 β†’ 22161 β†’ 22221 β†’ 22370 β†’ 22374 β†’ 22399 β†’ 22422 β†’ 22436 β†’ 22628 β†’ 22639 β†’ 22796 β†’ 22856 β†’ 23015 β†’ 23099 β†’ 23104 β†’ 23161 β†’ 23173 β†’ 23233 β†’ 23235 β†’ 23250 β†’ 23610 β†’ 23621 β†’ 23647 β†’ 23757 β†’ 23801 β†’ 23843 β†’ 23887 β†’ 24012 β†’ 24053 β†’ 24155 β†’ 24200 β†’ 24235 β†’ 24247 β†’ 24356 β†’ 24395 β†’ 24405 β†’ 24406 β†’ 24558 β†’ 24590 β†’ 24643 β†’ 24644 β†’ 24660 β†’ 24681 β†’ 24695 β†’ 24934 β†’ 24994 β†’ 25048 β†’ 25123 β†’ 25138 β†’ 25140 β†’ 25170 β†’ 25172 β†’ 25253 β†’ 25287 β†’ 25331 β†’ 25401 β†’ 25452 β†’ 25659 β†’ 25732 β†’ 25763 β†’ 25805 β†’ 25897 β†’ 25936 β†’ 25977 β†’ 25983 β†’ 26039 β†’ 26119 β†’ 26158 β†’ 26213 β†’ 26392 β†’ 26399 β†’ 26404 β†’ 26425 β†’ 26488 β†’ 26564 β†’ 26652 β†’ 26667 β†’ 26800 β†’ 26920 β†’ 27081 β†’ 27183 β†’ 27289 β†’ 27359 β†’ 27392 β†’ 27513 β†’ 27523 β†’ 27532 β†’ 27560 β†’ 27565 β†’ 27573 β†’ 27575 β†’ 27718 β†’ 27731 β†’ 27740 β†’ 27790 β†’ 27815 β†’ 27871 β†’ 27874 β†’ 27881 β†’ 27918 β†’ 27943 β†’ 28018 β†’ 28047 β†’ 28068 β†’ 28209 β†’ 28233 β†’ 28263 β†’ 28309 β†’ 28479 β†’ 28619 β†’ 28711 β†’ 28730 β†’ 28767 β†’ 28771 β†’ 28779 β†’ 28919 β†’ 28964 β†’ 28989 β†’ 29174 β†’ 29176 β†’ 29184 β†’ 29304 β†’ 29349 β†’ 29351 β†’ 29354 β†’ 29356 β†’ 29361 β†’ 29421 β†’ 29430 β†’ 29449 β†’ 29483 β†’ 29594 β†’ 29631 β†’ 29636 β†’ 29668 β†’ 29743 β†’ 29744 β†’ 29793 β†’ 29828 β†’ 29910 β†’ 29920 β†’ 29935 β†’ 29975 β†’ 29977

Der richtige Output sollte einmal die komplette Liste mit allen Ebenen darstellen.
Ansonsten sollten einfach keine Fehlermeldungen erscheinen.


heisst das also alle 32 Level mΓΌssen bei der grΓΌnen haken ausgabe vorkommen?


Siehe meinen vorherigen Post.
Habe die β€žobersteβ€œ (23) und β€žuntersteβ€œ (00) Ebene eingefΓΌgt.

Der komplette Output wΓ€re zu lang.


HΓ€tte man machen kΓΆnnen, aber ist ja alles O(1) :wink:


Aber ist es nicht sehr unwahrscheinlich, dass man Level 23 erreicht. Die Chancen dafΓΌr sind doch nur 1 zu 2^23/600 oder sehe ich das falsch?


ich scheitere an der Umsetzung vom Iterator,

also was ein Iterator machen kann, und was der Sinn eines Iterators ist habe ich soweit verstanden, stand ja ganz gut da in den Vorlesungsfolien, jedoch verstehe ich nicht so recht wie ich die Methode β€œpublic Iterator iterator()” implementieren soll…

theoretisch ist ja ein Iterator ein Element welches von SkipNode zu SkipNode springen kann.

kann da jemand paar erklΓ€rungen machen bzw. tipps geben wie das ganze ausschauen soll?