Bäume?!



  • 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^^



  • hljk schrieb:

    Ist Programmierung nicht nur eine Fachrichtung/ Spezialisierung von Informatik ?

    Nein, Programmierung ist ein Gegenstand der Informatik (aber nicht der einzige).

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

    Keine Ahnung, was ist das, ein Beruf? 🙂 Aber mal ein hinkender Vergleich: Man schreibt auch überall Texte, aber deswegen ist es nicht gleich Literatur.



  • Ich weiß ja das die bäume für mich prüfungsrelevant sind. Das problem ist, es wird nie problembezogen gelehrt.

    Wenigstens steigert das hier gelesene meine Motivation...
    Ich hab fast das gefühl mathe zu Studieren.
    Genau so die blöden Petri-netze.
    Oder das runtergebete von RFC standarts in Komunikationstechnik ...

    Das ist unglaublich demotivierend...
    Wenn ich dagegen sehe, die leute die Elektrotechnik studieren können mittlerweile Fernseher bauen...

    Aber schön mal zuhören das es tatsächlich Sinn macht kenntnisse über bäume zu haben. und zwar auch wo es Sinn macht, nicht weil die schon irgendwo implementiert sind.

    Wenn ich Fernseher verkaufe muss ich ja auch nicht wissen wie sie gebaut werden. Jetzt mal als vergleich zur Map...



  • Wenn du im 4. Semester Informatik studierst und inzwischen nicht selbst den Praxisbezug von Bäumen herleiten kannst bist du vielleicht im falschen Studiengang...

    Sqwan schrieb:

    Wenn ich Fernseher verkaufe muss ich ja auch nicht wissen wie sie gebaut werden. Jetzt mal als vergleich zur Map...

    Wenn du Fernsehverkäufer werden willst studierst du auch nicht Elektrotechnik. Wenn du Programmierer werden willst studierst du eben nicht Informatik, so einfach ist das 🙄



  • Sqwan schrieb:

    Ich hab fast das gefühl mathe zu Studieren.
    Genau so die blöden Petri-netze.
    Oder das runtergebete von RFC standarts in Komunikationstechnik ...

    Na dann setz dich mal in ne Mathevorlesung. Dann wirst du dieses Gefühl ganz schnell wieder los 😉



  • Sqwan schrieb:

    Ich hab fast das gefühl mathe zu Studieren.

    Die Informatik hat sich aus der Mathematik heraus entwickelt. Als Informatiker
    studierst du eigentlich auch Mathematik (Natürlich mit anderen Schwerpunkten).
    Du tust mir grad etwas leid, dass du das erst im 4. Semester merkst.

    Ernsthaft, lies vllt. mal den Wikipedia Artikel durch:
    http://de.wikipedia.org/wiki/Informatik



  • Sqwan schrieb:

    Wenn ich dagegen sehe, die leute die Elektrotechnik studieren können mittlerweile Fernseher bauen...

    Und tun sies auch, bauen die in ihrem Studium tatsächlich irgendwo einen realen Fernseher? 😉
    Das Studium lehrt dich die notwendigen Fähigkeiten um alle möglichen Schlösser zu knacken und zeigt dir vielleicht ein paar Hundeklappen. Dir ne Tür aussuchen und durchgehen musst du selber. Wenn du willst dass wer kommt und dir zeigt wie man ein oder zwei ganz spezielle Türen aufsperrt solltest du auf ne FH :p



  • Sqwan schrieb:

    Wenigstens steigert das hier gelesene meine Motivation...
    Ich hab fast das gefühl mathe zu Studieren.
    Genau so die blöden Petri-netze.
    Oder das runtergebete von RFC standarts in Komunikationstechnik ...

    Das ist unglaublich demotivierend...
    Wenn ich dagegen sehe, die leute die Elektrotechnik studieren können mittlerweile Fernseher bauen...

    Nach vier Semestern solltest du eigentlich verstanden haben, dass es in der Uni nicht um irgendeine Berufsausbildung geht, sondern (nicht nur, aber häufig) um Grundlagen und Forschungsthemen. Dass Forschung und Praxis manchmal ein wenig auseinander klaffen, ist nichts Neues.



  • tatsächlich ging ich davon aus, im studium was brauchbares zu lernen. War ein irrglaube. Bis auf kleinigkeiten, kann ich auch einfach informatikkurs der Realschule besuchen.

    dot schrieb:

    Sqwan schrieb:

    Wenn ich dagegen sehe, die leute die Elektrotechnik studieren können mittlerweile Fernseher bauen...

    Und tun sies auch, bauen die in ihrem Studium tatsächlich irgendwo einen realen Fernseher? 😉
    Das Studium lehrt dich die notwendigen Fähigkeiten um alle möglichen Schlösser zu knacken und zeigt dir vielleicht ein paar Hundeklappen. Dir ne Tür aussuchen und durchgehen musst du selber. Wenn du willst dass wer kommt und dir zeigt wie man ein oder zwei ganz spezielle Türen aufsperrt solltest du auf ne FH :p

    Das ist ein irrglaube. Das Studium lehr mich garnichts. Ich bin jetzt nicht zu mehr in der lage als am ersten tag im ersten Semester.

    gastantwort schrieb:

    Wenn du im 4. Semester Informatik studierst und inzwischen nicht selbst den Praxisbezug von Bäumen herleiten kannst bist du vielleicht im falschen Studiengang...

    Sqwan schrieb:

    Wenn ich Fernseher verkaufe muss ich ja auch nicht wissen wie sie gebaut werden. Jetzt mal als vergleich zur Map...

    Wenn du Fernsehverkäufer werden willst studierst du auch nicht Elektrotechnik. Wenn du Programmierer werden willst studierst du eben nicht Informatik, so einfach ist das 🙄

    Wer sagt denn das ich Programmierer werden möchte. Mir gehts um das gefühl einfach garnichts gelernt zu haben. Und ich habe meine Klausuren nicht schlecht bestanden. Gut, bäumen waren jetzt das erste mal etwas kompliziert...

    @Mario Sandler
    Leid tuh ich dir also? Sag mir doch mal wie viele RFC standarts du auswendig kennst? Und ja, das ist Klausurgegenstand. Ich trau mich wetten, du kannst nicht auswendig den IP-Header und weißt nicht, wofür welches bit steht.

    Irgendwo war ich schon dem irrglauben verfallen, in meinem Studium technik zu lernen, um irgendwelche Informationstechnichen aufgaben zu lösen, vllt auch mal gelehrt zu bekommen, wie ich etwas plane. Auch einführungen ins Recht im bereich der informatik wäre mal interessant gewesen.

    Nach vier Semestern solltest du eigentlich verstanden haben, dass es in der Uni nicht um irgendeine Berufsausbildung geht, sondern (nicht nur, aber häufig) um Grundlagen und Forschungsthemen. Dass Forschung und Praxis manchmal ein wenig auseinander klaffen, ist nichts Neues.kermit

    In der Tat ist mir das aufgefallen. Schon recht früh. Aber irgendwie hatte ich Hoffnung mit dem was ich lerne mal mein Geld verdienen zu können.
    Was soll ich denn jetzt in nem Bewerbungsgespräch sagen? "Nein, arbeiten kann ich nicht, aber den Wendepunkt ihrer Karriere kann ich mit hoher wahrscheinlichkeit vorhersagen! Wie viel ich dafür möchte? am besten 120K. Ein zweites jahr werd ich nicht hier sein, weil danach sind sie pleite!"?



  • Sag mir doch mal wie viele RFC standarts du auswendig kennst? Und ja, das ist Klausurgegenstand. Ich trau mich wetten, du kannst nicht auswendig den IP-Header und weißt nicht, wofür welches bit steht.

    Na, da hast du du doch was gelernt. 👍
    Etwas komisch damit zu prahlen, aber naja...

    Also, komplett unschuldig an deiner Situation bist du sicherlich nicht. Oder hast du nach 4 Semestern plötzlich bemerkt, dass deine FH (davon gehe ich mal aus) nichts taugt? Wenn der Stoff nicht schwieriger ist als der Informatikkurs auf der Realschule, dann solltest du schleunigst auf eine bessere Universität wechseln.



  • Is ne FH. In der tat. Hab auch nur Fachabi, da ich das in meiner Informatikerausbildung direkt mit gemacht habe. Und da war volles nicht drin.

    Ich prahle nicht mit RFCs. Ich hasse sie. In meiner Ausbildung hat mein Ausbilder das immer als Bulimie-Lernen bezeichnet.
    Er hat auch immer gesagt, "RFCs muss man nicht auswendig können, aber man muss wissen wo mans nachlesen kann"

    Also ich finde den Anspruch allein auf die Fächernamen bezogen ziemlich gering. Also auf das was der Name eigentlich aussagt.
    Langsam ändert sich das, jetzt grade mit den Bäumen. Meine Hoffnung steigt noch mal bei KI. Und ja, ich weiß, das ist auch Theorie. Aber die ist wenigstens anwendbar.
    Ich habe genau wie jeder andere auch von der 7ten bis zur 10ten klasse Informatik gehabt. Da haben wir auch binärzahlen berechnet, uns endliche Automaten angesehen, Datenbanken benutzt, und anweisungen in Relationaler Algebra beshrieben. Wir haben uns den Aufbau eines PCs angehen und die Hardware dadrin. Wir haben uns mit dem Scheduler einer Linuxdestribution beschäftigt, haben mit PHP und javascript gearbeitet. UML haben wir verwendet. Allerdings doch etwas grundlegender. ERM und EERM haben wir uns sehr ausführlich angesehen.
    Und genau das kam jetzt wieder. Plus mathe, Bäume und etwas BWL, die ich im Fachabi aber schon hatte. Und irgendwie hatte ich gedacht da kommt was neues...


Anmelden zum Antworten