| Autor |
Nachricht |
Unregistrierter
|
Unregistrierter
11:26:41 28.01.2012 Titel: |
Nutzt ihr Libs für Algorithmen und Datenstrukturen? |
Zitieren |
Guten Morgen,
ich befasse mich gerade mit Algorithmen und Datenstrukturen(Binärbaum, Traversieren etc.). Ich kann mir aber kaum vorstellen dass sich jemand heute noch die Mühe macht und das alles selbst implementiert, ausser vielleicht wie ich zu Lernzwecken.
Meine Frage daher, nutzt ihr Libs dafür und wenn ja welche?
Beste Grüße
Chris |
|
|
|
 |
knivil
Mitglied
Benutzerprofil
Anmeldungsdatum: 11.02.2009
Beiträge: 4495
|
knivil Mitglied
11:55:08 28.01.2012 Titel: |
|
Zitieren |
Ja. Sollen sie auf einer anderen Architektur laufen, dienen die Libraries als Vergleich. |
_________________ If it were not for laughter, there would be no Tao.
Sie können einen Beitrag nicht so schnell nach Ihrem letzten absenden, bitte warten Sie einen Augenblick.
|
|
 |
Unregistrierter
|
Unregistrierter
12:32:48 28.01.2012 Titel: |
|
Zitieren |
| knivil schrieb: | | Ja. Sollen sie auf einer anderen Architektur laufen, dienen die Libraries als Vergleich. | Tut mir leid, das verstehe ich nicht ganz. Du nutzt also andere Libs? Wenn ja, warum kannst du die denn nicht auf einer anderen Architektur kompilieren? Liegt es daran, dass du proprietäre Libs verwendest? |
|
|
|
 |
rüdiger
Moderator
Benutzerprofil
Anmeldungsdatum: 11.07.2001
Beiträge: 22820
|
rüdiger Moderator
13:47:08 28.01.2012 Titel: |
|
Zitieren |
Grundlegende Algorithmen/Datenstrukturen bringen die meisten Programmiersprachen doch mit. In C++ hast du doch die ganzen Algo/Dat aus der STL: vector, list, etc. |
|
|
|
 |
Unregistrierter
|
Unregistrierter
13:58:08 28.01.2012 Titel: |
|
Zitieren |
Aber keine Bäume oder Graphen, sondern eher Listen oder? Aber ich kann mich auch irren, die STL habe ich bis jetzt nur leicht angekratzt. |
|
|
|
 |
Dean
Unregistrierter
|
Dean Unregistrierter
15:25:45 28.01.2012 Titel: |
|
Zitieren |
|
 |
Unregistrierter
|
Unregistrierter
15:59:09 28.01.2012 Titel: |
|
Zitieren |
Ah, ok danke. So wie ich das bis jetzt rausbekommen habe ist die map wohl als Rot-Schwarz-Baum implementiert und für Graphen gibt es was in den Boost-Libs. Ich habe immer noch die Frage ob ihr diese Möglichkeiten auch nutzt oder ob ihr doch andere Libs dafür bevorzugt, aus z.B. Performancegründen? |
|
|
|
 |
lolhehe
Unregistrierter
|
lolhehe Unregistrierter
15:59:39 28.01.2012 Titel: |
|
Zitieren |
was man wohl am häufigsten braucht, ist list, set, map, queue und selten vielleicht auch mal stack. das sollte doch wohl jede moderne programmiersprache schon von haus aus mitbringen.
mit graphen hat man - wenn man objekt orientiert programmiert - implizit ja eh immer zu tun. einen expliziten graphen als generische datenstruktur mitsamt der durch die graphentheorie bekannten algorithmen brauchte ich im programmier-alltag bisher eher selten bis gar nicht. |
|
|
|
 |
Michael E.
Mitglied
Benutzerprofil
Anmeldungsdatum: 25.10.2003
Beiträge: 5323
|
Michael E. Mitglied
16:48:10 28.01.2012 Titel: |
|
Zitieren |
Für Graphen benutze ich Lemon. Ist deutlich einfacher zu benutzen als boost::graph. |
_________________ Your password must be at least 18770 characters and cannot repeat any of your previous 30689 passwords. Please type a different password. Type a password that meets these requirements in both text boxes. (http://support.microsoft.com/kb/276304/en-us/)
|
|
 |
Unregistrierter
|
Unregistrierter
17:08:53 28.01.2012 Titel: |
|
Zitieren |
Schaut schon mal sehr interessant aus.
@lolhehe: Mich interessiert das Thema im Moment halt, mehr ist es auch nicht und wenn ich es irgendwann mal wirklich brauchen sollte schaue ich halt in meine Notizen nach. Ich mache C++ auch nur als Hobby und da werde ich sicherlich noch jede Menge machen, was man eigentlich nicht wirklich braucht, aber darum geht es mir auch nicht, sondern darum nach Lust und Laune zu lernen. |
|
|
|
 |
knivil
Mitglied
Benutzerprofil
Anmeldungsdatum: 11.02.2009
Beiträge: 4495
|
knivil Mitglied
17:59:22 28.01.2012 Titel: |
|
Zitieren |
| justchris schrieb: | | Wenn ja, warum kannst du die denn nicht auf einer anderen Architektur kompilieren? Liegt es daran, dass du proprietäre Libs verwendest? | Wenn ich beispielsweise AES implementiere, dann kann ich durchaus einfach eine Bibliothek verwenden und dort uebersetzen. Leider werden die besonderen Features des Prozessor nicht genutzt und die Funktion ist langsam. |
_________________ If it were not for laughter, there would be no Tao.
Sie können einen Beitrag nicht so schnell nach Ihrem letzten absenden, bitte warten Sie einen Augenblick.
|
|
 |
mfq
Unregistrierter
|
mfq Unregistrierter
03:53:14 29.01.2012 Titel: |
|
Zitieren |
Gerade Kryptozeugs ist nun aber etwas, dessen Selbstimplementierung man im Allgemeinen tunlichst unterlassen sollte, wenn brauchbarer, bewährter und auditierter, Code zur Verfügung steht. Gut möglich, dass du da recht sicher drin bist (und AES ist ja nun auch nicht das komplizierteste auf dieser Welt), aber es gibt da einfach so viele Fallstricke, dass ich diesen Hinweis hier einfach für nötig halte. |
|
|
|
 |
Blue-Tiger
Mitglied
Benutzerprofil
Anmeldungsdatum: 29.11.2002
Beiträge: 2979
|
Blue-Tiger Mitglied
12:50:40 30.01.2012 Titel: |
|
Zitieren |
Es kommt drauf an. Natuerlich waer's prinzipiell immer besser, eine (gute) Library zu haben.
Manchmal ergibt es sich ganz natuerlich dass man seine Daten z. B. als verkettete Liste oder als Binaerbaum representiert, ohne dass man viel drueber nachdenkt... z. B. wenn man einen Parser fuer simple Ausdruecke schreiben will, passierts ganz schnell dass man (oft auch ohne es zu merken) irgendwo einen (nicht-balancierten) Binaerbaum implementiert. Fuer so einfache Dinge verwende ich dann keine Library.
Wenn ich jetzt irgendwas schreiben wuerde, das intensivere Arbeit mit Graphen verlangt, oder ich irgendwo Daten in einer Liste abspeichern will, aber selbst nicht sonderlich viel Kontrolle ueber die Liste benoetige ( = die Liste nicht inhaerenter Betandteil der Datenstruktur ist), oder ich irgend einen nicht-trivialen Algorithmus auf der Datenstruktur ausfuehren muss, greif ich zu einer Lib, wenn moeglich.
Ist aber auch eine Frage davon, was die Sprache mitbringt. In C schreib ich mir meine Listen meist selber, weil ich einfach keine gute Algorithmen-und-Datenstrukturen Sammlung gefunden hab, wie sie C++ von Haus aus mitbringt (Empfehlungen herzlich willkommen!). |
_________________ I have come here to chew memory and kick ass... and malloc() is returning a null pointer.
This message has been ROT-13 encrypted twice for higher security.
http://bluetiger.bauchlandung.org/
Zuletzt bearbeitet von Blue-Tiger am 12:51:53 30.01.2012, insgesamt 1-mal bearbeitet |
|
 |