{"id":97,"date":"2010-09-08T16:37:12","date_gmt":"2010-09-08T14:37:12","guid":{"rendered":"http:\/\/fernuni.digreb.net\/?page_id=97"},"modified":"2025-11-25T17:44:10","modified_gmt":"2025-11-25T16:44:10","slug":"01661-datenstrukturen-1","status":"publish","type":"page","link":"https:\/\/fernuni.digreb.net\/?page_id=97","title":{"rendered":"01661 &#8211; Datenstrukturen 1"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Pers\u00f6nliches, subjektives Kursfazit<\/h2>\n\n\n\n<p>Entweder man m\u00fcht sich zun\u00e4chst mit Datenstrukturen 1 ab, oder mit 1613 (imperative Programmierung). Beide Kurse behandeln Datenstrukturen, was f\u00fcr den Studienanf\u00e4nger bereits eine kleinere H\u00fcrde ist. Hat man einen der Kurse bestanden und verstanden, f\u00e4llt einem der jeweils andere dann leichter. Zumindest die betreffenden Kapitel.<\/p>\n\n\n\n<p>Viel gibt es \u00fcber diesen Kurs nicht zu sagen. Er geh\u00f6rt definitiv nicht zu den Einfachen und ist unter anderem aufgrund der Themenf\u00fclle und strenger Klausurkorrektur nicht zu untersch\u00e4tzen. Man sollte die wichtigen Algorithmen (Bubble-, Heap-, Insertion-, Radix-, Bucket-, Merge-, Quick-, Selection- und Shellsort) inklusive Laufzeitanalyse und O-Notation kennen, sowie eine gegebene Folge mit ihnen auf Papier sorieren k\u00f6nnen. Dazu die Grundlegenden Datenstrukturen wie B- und AVL-B\u00e4ume und Operationen auf ihnen (Insert, Delete, Overflow- und Underflowbehandlung, &#8230;), Entwurf von eigenen Strukturen mittels Algebra und ADT, Hashfunktionen und Kollisionsstrategien, sowie jede Stufe von Dijkstra auf Papier bringen.<\/p>\n\n\n\n<p>Mir hat das folgende Buch bei den Algorithmen, der O-Notation und der mathematischen Datentypspezifikation sehr geholfen.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Literaturempfehlung<\/h3>\n\n\n\n<p>Siehe Literaturempfehlung im Widget.&nbsp;Das Buch von Saake\/Sattler ist zwar ein Schinken, aber es behandelt alle Themen im Kurs und ist in vielen Teilen deutlich umfangreicher. Wer die Themen also aus einem anderen Blickwinkel betrachten m\u00f6chte, was durchaus hilfreich ist, kann getrost zugreifen.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Klausur- und Organisatorisches<\/h3>\n\n\n\n<p>Stand SS 2010: Klausur ist nicht einfach. Mit der (vielleicht tempor\u00e4ren) Umstrukturierung musste man 60% der Klausurpunkte erreichen um zu bestehen. Daf\u00fcr konnte man bis zu 22% an Klausur-Zusatzpunkten durch die Einsendeaufgabe sammeln (Punkte Einsendeaufgabe mod 20. Hat man also 99% in der Einsendeaufgabe erreicht, bekommt man trotzdem nur 4 Klausurpunkte. Schlimmstenfalls holt man in allen EA 99%, bekommt aber nur 77% der m\u00f6glichen Klausur-Zusatzpunkte).<\/p>\n\n\n\n<p>Das war auch einer der Kritikpunkte vieler Mitstudenten, die die EA nicht bearbeiten konnten. Daf\u00fcr konnte man sich bei freundlichen Mitstundenten auf ihre 100% Einsendeaufgaben mit draufschreiben und sich so durch die EA &#8222;schummeln&#8220;. Ob es am Ende was gebracht hat (man musste im besten Fall nur noch 38% in der Klausur holen), ist ungewiss. Der Lehstuhl wollte so anscheinend die Leute davon abhalten unvorbereitet zur Klausur zu erscheinen und die Bestehensquote zu erh\u00f6hen. Hat wohl geklappt &#8211; dieses Semester scheint nur knapp die H\u00e4lfte zur Klausur angetreten zu sein, was den Bestehens-Schnitt deutlich gehoben hat \ud83d\ude09<\/p>\n\n\n\n<p>Aber so wie es ausschaut, wird &#8211; aufgrund der vielen Kritik &#8211; davon abgewichen und das alte &#8222;Einsendeaufgaben Pflicht zur Klausurzulassung&#8220;-System wieder eingef\u00fchrt.<\/p>\n\n\n\n<p>Zur <strong>Klausurvorbereitung <\/strong>empfehle ich nat\u00fcrlich die alten Klausuren, sowie alle Sortieralgorithmen und Dijkstra bis zum Erbrechen auf Papier zu \u00fcben. Vor allem Dijkstra ist (wenn er dran kommt) ein echter Punktebringer, bei dem man sich jedoch schnell vermalen kann. Wenn man das gut und schnell kann, ist man schonmal ein gutes St\u00fcck weiter. Gleiches gilt f\u00fcr die Algebra und die ADT: eine von beiden kam bis jetzt in jeder Klausur dran. Auch das Hashing sollte man mehrmals auf Papier ge\u00fcbt haben.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Kursinhalt<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Kurseinheit 1<\/h3>\n\n\n\n<p>Analyse von Algorithmen, Spezifikation von Datentypen durch Algebren und ADTs. Datentypen in Java, Arrays, Klassen, etc. Dynamische Datenstrukturen, Zeiger, Konzepte.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Kurseinheit 2<\/h3>\n\n\n\n<p>Sequenzen, Modelle, frist, last, append, rappend, concat, etc. Doppelt und einfach verkettete Listen, sowie Operationen auf diesen. Stacks, Queues, Abbildungen, Bin\u00e4re B\u00e4ume, Einbettung, Allgemeine B\u00e4ume und Implementierungen.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Kurseinheit 3<\/h3>\n\n\n\n<p>Mengen, geordnete und ungeordnete Listen, Bitvektoren, Dictionaries,geschlossenes und offenes Hashing, Analyse, Kollisionsstrategien (quadratisches und lineares Sondieren, etc.), Hashfunktionen (Divisionsmethode, Mittel-Quadrat-Methode, etc). Bin\u00e4re Suchbeume, AVL B\u00e4ume und Operationen auf diesen, Priority-Queues, Partitionen von Mengen.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Kurseinheit 4<\/h3>\n\n\n\n<p>Sortierverfahren: DAC (Merge + Quicksort), Find and Insert (Heap- und Baumsortieren), F\u00e4chersortierung (Radix und Bucketsort), Schranken f\u00fcr Sortierverfahren, Laufzeitanalyse und Beweise. Speicherdarstellung von Graphen und Durchlauf.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Kurseinheit 5<\/h3>\n\n\n\n<p>Graph-Algorithmen mit Dijkstra, Implementierung mit Adjazenzmatrik und Priority-Queues. Externes Suchen in B-B\u00e4umen, Over- und Underflowbehandlung.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Buchempfehlung<\/h3>\n\n\n\n<a href=\"https:\/\/www.amazon.de\/gp\/product\/3898643859\/ref=as_li_tl?ie=UTF8&#038;camp=1638&#038;creative=6742&#038;creativeASIN=3898643859&#038;linkCode=as2&#038;tag=fernblog09-21&#038;linkId=c02dd6c9eddb64e8c6ef98a4cb32d01f\" target=\"_blank\"><img decoding=\"async\" width=\"150px\" src=\"https:\/\/m.media-amazon.com\/images\/I\/51pDQT9-AIL.jpg\" width=\"25%\"><\/img><\/a>\n\n\n\n<a class=\"amazonlink\" target=\"_blank\"  href=\"https:\/\/www.amazon.de\/gp\/product\/3540774319\/ref=as_li_tl?ie=UTF8&#038;camp=1638&#038;creative=6742&#038;creativeASIN=3540774319&#038;linkCode=as2&#038;tag=fernblog09-21&#038;linkId=c02dd6c9eddb\n64e8c6ef98a4cb32d01f\"><img decoding=\"async\" width=\"150px\" src=\"https:\/\/m.media-amazon.com\/images\/I\/615QRs6uYxL._SL1253_.jpg\" alt=\" Mathematik F&uuml;r Informatiker: Band 1: Diskrete Mathematik und Lineare Algebra (eXamen.press) (German Edition)\"><\/img><\/a><br>\n","protected":false},"excerpt":{"rendered":"<p>Pers\u00f6nliches, subjektives Kursfazit Entweder man m\u00fcht sich zun\u00e4chst mit Datenstrukturen 1 ab, oder mit 1613 (imperative Programmierung). Beide Kurse behandeln Datenstrukturen, was f\u00fcr den Studienanf\u00e4nger bereits eine kleinere H\u00fcrde ist. Hat man einen der Kurse bestanden und verstanden, f\u00e4llt einem der jeweils andere dann leichter. Zumindest die betreffenden Kapitel. Viel gibt es \u00fcber diesen Kurs &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/fernuni.digreb.net\/?page_id=97\" class=\"more-link\"><span class=\"screen-reader-text\">\u201e01661 &#8211; Datenstrukturen 1\u201c <\/span>weiterlesen<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"parent":3360,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","meta":{"footnotes":""},"class_list":["post-97","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/fernuni.digreb.net\/index.php?rest_route=\/wp\/v2\/pages\/97","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fernuni.digreb.net\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/fernuni.digreb.net\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/fernuni.digreb.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/fernuni.digreb.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=97"}],"version-history":[{"count":36,"href":"https:\/\/fernuni.digreb.net\/index.php?rest_route=\/wp\/v2\/pages\/97\/revisions"}],"predecessor-version":[{"id":3422,"href":"https:\/\/fernuni.digreb.net\/index.php?rest_route=\/wp\/v2\/pages\/97\/revisions\/3422"}],"up":[{"embeddable":true,"href":"https:\/\/fernuni.digreb.net\/index.php?rest_route=\/wp\/v2\/pages\/3360"}],"wp:attachment":[{"href":"https:\/\/fernuni.digreb.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=97"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}