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
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
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
Auch wenns vielleicht nicht fΓΌr alle Methoden mit einem TODO einen [m]main[/m]-Test gibt, sollten Sie implementiert werden
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
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]
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)
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?