Ich muss ein C-Programm ändern und ich muss eine Reihe von unsigned Integer-Sets enthalten. Das heißt, ich habe Millionen von Mengen von ganzen Zahlen (jeder dieser Integer-Sätze enthält zwischen 3 und 100 ganze Zahlen), und ich muss diese in irgendeiner Struktur speichern, wir können es das Verzeichnis nennen, das in logarithmischer Zeit mir sagen kann, ob ein gegeben ist Ganzzahlsatz ist bereits im Verzeichnis vorhanden. Die einzigen Operationen, die für das Verzeichnis definiert werden müssen, sind Suchen und Einfügen.Was ist eine einfache C-Bibliothek für eine Menge von Integer-Mengen?
Dies wäre leicht in Sprachen mit integrierter Unterstützung für nützliche Datenstrukturen, aber ich bin ein Ausländer zu C und die Suche auf Google hat (überraschend) meine Frage nicht zufriedenstellend beantwortet. Dieses Projekt sieht ungefähr richtig:
http://uthash.sourceforge.net/
aber ich würde mit meinem eigenen Hash-Schlüssel-Generator zu kommen braucht.
Dies ist ein einfaches Standardproblem, also hoffe ich, dass es eine standardmäßige und einfache Lösung gibt.
tsearch eignet sich hervorragend zum Verwalten binärer Bäume von generischen Elementen. Es wird kein Element zweimal hinzufügen, also können wir es für Sets verwenden. – iomartin