Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.de  
   
Forentreff 2012     
Bücher-Shop mit Amazon (Buchkategorien)C++ : Referenzen zu C++ : C++ Builder : Visual C++ : C# : Java : Spieleprogrammierung : Systemprogrammierung Linux : Software-Entwicklung : .NET : Compilertechnik : Algorithmen & Datenstrukturen : Objektorientierung : Entwurfsmuster : UML : eXtreme Programming : Scrum : Projektmanagement : Software-Testing : Datenbanken : Tom DeMarco : Dilbert : User Friendly
C/C++ Forum :: Rund um die Programmierung ::  Nutzt ihr Libs für Algorithmen und Datenstrukturen?     Zeige alle Beiträge auf einer Seite Auf Beitrag antworten
Autor Nachricht
Unregistrierter





Beitrag 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
Beitrag 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





Beitrag 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
Beitrag 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





Beitrag 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




Beitrag Dean Unregistrierter 15:25:45 28.01.2012   Titel:              Zitieren

std::map , std::set

http://www.cplusplus.com/reference/algorithm/
Unregistrierter





Beitrag 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




Beitrag 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
Beitrag 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





Beitrag 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
Beitrag 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




Beitrag 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
Beitrag 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
C/C++ Forum :: Rund um die Programmierung ::  Nutzt ihr Libs für Algorithmen und Datenstrukturen?   Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info, www.c-sar.de, www.c-plusplus.net und www.baeckmann.de enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.