Bäume?!



  • Sqwan schrieb:

    ...wie oft brauchtet ihr bei der Programmierung schon "Bäume"...

    Selbst programmieren musste ich diese noch nie, verwendet habe ich sie aber schon sehr häufig (z.B. über die von Michael E. erwähnten Container; Dictorinary-Typen aus C#/Java...).



  • ich mag bäume, wenn meist auch recht einfach implementiert (Spaghetti Stack)

    Und gerade, wenn man einen Sortieralgorithmus bauen darf, lohnen sich Kenntnisse in der Botanik. Nicht jede Standardbibliothek hat dafür effiziente Methoden



  • gut, java benutzen wir auch. Wo da diese Bäume verwendet werden wissen wir aber nicht. Langsam hängt mir das zum Halse raus.

    Ich kann nach 4 semestern den höchsten punkt eines Eierkartons berechnen, aber irgend etwas produktives tun kann ich nicht. Das ist ja grade zu traurig. Mit ausnahme der Bäume und Mathe hab ich alles schon mal in der Realschule gemacht...

    @zwutz
    Muhahaha... Wir können nen Bubblesort xD
    Und von en paar devide & conquer sortierern haben mer schon mal gehört



  • Sqwan schrieb:

    Muhahaha... Wir können nen Bubblesort xD
    Und von en paar devide & conquer sortierern haben mer schon mal gehört

    Im vierten Semester? Hast Du alle vorgesehenen Lehrveranstaltungen gemacht? Da sollte doch etwas mehr drin sein.



  • Sqwan schrieb:

    ganz ehrlich... noch nie!!! In 4 semestern studium...

    Ich hatte auch eher in der freien Wildbahn gemeint.

    Bei mir ist es wie bei asc: Selbst geschrieben hab ich nen Baum erst einmal, aber ich benutz häufig welche.

    Sqwan schrieb:

    Ich kann nach 4 semestern den höchsten punkt eines Eierkartons berechnen, aber irgend etwas produktives tun kann ich nicht. Das ist ja grade zu traurig. Mit ausnahme der Bäume und Mathe hab ich alles schon mal in der Realschule gemacht...

    @zwutz
    Muhahaha... Wir können nen Bubblesort xD
    Und von en paar devide & conquer sortierern haben mer schon mal gehört

    Wo studierst du denn? Das von dir Genannte ist eher Erst- bis maximal Drittsemesterstoff (und sollte dann im dritten Semester deutlich erweitert worden sein)...



  • Ich sag mal ich brauche sortierte Sets oder Maps nicht extrem oft, aber hin und wieder doch.
    Im aktuellen Projekt hab' ich z.B. ein (intrusive) set (=Baum) in dem ich Child-Controls speichere, sortiert nach der Z-Order.

    Oft kommt man aber mit unordered Sets/Maps aus, und dazu braucht man keine Bäume.



  • Sqwan schrieb:

    [...]Sind die so enorm wichtig?

    Ja, sehr wichtig, für die effiziente Lösung einer Vielzahl von Problemen.



  • Tachyon schrieb:

    Sqwan schrieb:

    [...]Sind die so enorm wichtig?

    Ja, sehr wichtig, für die effiziente Lösung einer Vielzahl von Problemen.

    z.B ?



  • dssss schrieb:

    Tachyon schrieb:

    Sqwan schrieb:

    [...]Sind die so enorm wichtig?

    Ja, sehr wichtig, für die effiziente Lösung einer Vielzahl von Problemen.

    z.B ?

    Prinzipiell immer dann wenn man Daten hat die man durchsuchen will. zB Dictionarys/Maps, Datenbanken, etc.



  • Shade Of Mine schrieb:

    Prinzipiell immer dann wenn man Daten hat die man durchsuchen will. zB Dictionarys/Maps, Datenbanken, etc.

    ...Strategie KIs für Spiele, sortierte Datenstrukturen, programmierbare Hardwarebausteine (FPGAs) bzw. große digitale Schaltnetze grundsätzlich, 3d-Synthese, Raytracing, regelbasierte Systeme, bla bla bla...



  • eigentlich alles, wo eine Liste als Datenstruktur nicht ausreicht



  • In jedem Studium gibt es zahlreiche Dinge, deren Sinn nicht sofort einsichtig scheint. Das gilt für alle Fachrichtungen. Einige Dinge erweisen sich später als nützlich, andere bleiben überflüssig. So habe ich in den Anfangssemestern Bauingenieur viel von Napla-Operatoren gehört, nichts verstanden und diese niemals gebraucht. War wohl ein Steckenpferd des Professors für Baumechanik zur Erweiterung der Mathematik in Sachen Rechnen mit Vektroren und Matrizen. Nach 4 Semestern solltest du aber gelernt haben, was für dich wichtig oder prüfungsrelevant ist.

    Was nun die Bäume anbelangt, haben andere dir erzählt wozu man diese braucht.



  • Sqwan schrieb:

    Schönen guten Tag

    Sagt mal, wie oft brauchtet ihr bei der Programmierung schon "Bäume" (AVL, Rot-Schwarz, Binär, etc)?
    Langsam hab ich das gefühl mein Studium besteht nur aus Quatsch und Bäumen... Sind die so enorm wichtig?

    Unzaehlige Male! Und damit mein ich selbst-Implementierte! Wenn ich mitzaehle, wie oft ich Sets oder Dictionaries verwende, dann wohl vermutlich in mindestens 60% alle Programme, die ich je geschrieben habe.



  • Blue-Tiger schrieb:

    Unzaehlige Male! Und damit mein ich selbst-Implementierte! Wenn ich mitzaehle, wie oft ich Sets oder Dictionaries verwende, dann wohl vermutlich in mindestens 60% alle Programme, die ich je geschrieben habe.

    Kommt drauf, wofür man Programme schreibt. Für wissenschaftliche, technische oder andere Anwendungen ist der Anteil dieser Dinge meist 0 %. 😞 Diese Leute programmieren auch und erhalten von ausgebildeten Informatikern meist keine Unterstützung. Oft nicht einmal dort, wo sie etwas beitragen könnten.



  • berniebutt schrieb:

    Kommt drauf, wofür man Programme schreibt. Für wissenschaftliche, technische oder andere Anwendungen ist der Anteil dieser Dinge meist 0 %. 😞

    Verstehe ich nicht. Kannst du das bitte ausführen?



  • berniebutt schrieb:

    Blue-Tiger schrieb:

    Unzaehlige Male! Und damit mein ich selbst-Implementierte! Wenn ich mitzaehle, wie oft ich Sets oder Dictionaries verwende, dann wohl vermutlich in mindestens 60% alle Programme, die ich je geschrieben habe.

    Kommt drauf, wofür man Programme schreibt. Für wissenschaftliche, technische oder andere Anwendungen ist der Anteil dieser Dinge meist 0 %. 😞 Diese Leute programmieren auch und erhalten von ausgebildeten Informatikern meist keine Unterstützung. Oft nicht einmal dort, wo sie etwas beitragen könnten.

    Dictionaries sind in sehr vielen Sprachen einer der grundlegendsten Datentypen (z. B. Python oder PHP), mich wuerd wundern wenn die niemand verwendet. Gerade fuer irgend eine Propertylist o. AE. bietet sich das an.
    Ansonsten: ueberall wo du eine DSL verwendest, hast du einen Parser- oder Expressionbaum, der dann oft auch explizit zwischengespeichert wird (=Baum). Oder du musst mit XML umgehen (=Baum). Oder Beziehungen zwischen Objekten speichern (=Graph, also auch was mehr oder weniger entfernt baumartiges).

    Deine Aussage mit den 0% versteh ich nicht. Auch reines Number-Crunching kann baumlastig sein! Wenn du z. B. einen Oct-Tree verwendest, um ein n-Koerper-Problem zu optimieren, oder einen neuen Compiler schreibst, der Optimierungen auf ASTs ausfuehrt oder per Branch-and-Bound ein NP-Vollstaendiges Problem annaehrst oder sonstwas.... 😉



  • Ich denke das grundlegende Missverständnis hier ist die Annahme dass es in einem Studium darum geht "etwas produktives zu tun". Zweck eines Studiums (so wie ich das verstanden habe) ist es die Fähigkeiten und notwendigen Grundlagen zu erwerben die einen später dann in die Lage versetzen was auch immer "produktives zu tun" was man so gerne möchte. Wenn du also heute nichts "produktives tust" dann bist ganz allein du selber Schuld (weil dus nicht tust) und nicht dein Studium. Wenn du also heute noch nie Bäume verwendet hast dann liegt das wohl daran dass du noch nie ein ernsthaftes Softwareprojekt durchgezogen hast (denn die braucht man früher oder später praktisch überall mal). Es liegt ganz an dir das zu ändern 😉



  • berniebutt schrieb:

    Für wissenschaftliche, technische oder andere Anwendungen ist der Anteil dieser Dinge meist 0 %.

    Damit meinst du wohl wenn alle Anwendungen (oder andere...), und dann liegst du komplett daneben. Ich habe beispielsweise kaum ein C++ Programm erlebt, wo nicht mindestens eine std::map oder vergleichbares verwendet wurden ist.

    Ich behaupte aber das die wenigstens Programmierer (Betonung auf Programmierer, nicht Informatiker) einen wie auch immer gearteten Baum in ihrer Anwendung "sehen" (da sie ihn nur "verwenden", nicht aber implementieren).



  • [quote="asc"](Betonung auf Programmierer, nicht Informatiker)/quote]

    Was meinst du genau damit ?
    Ist Programmierung nicht nur eine Fachrichtung/ Spezialisierung von Informatik ?

    In welchen anderen Berufen programmiert man den noch ? (Nicht Hobbymässig)



  • hljk schrieb:

    Ist Programmierung nicht nur eine Fachrichtung/ Spezialisierung von Informatik ?

    Programmieren ist ca. soviel eine Fachrichtung von Informatik wie Fliegen eine Fachrichtung von Physik^^


Anmelden zum Antworten