Zum Inhalt springen

MrTiger

Mitglieder
  • Gesamte Inhalte

    26
  • Benutzer seit

  • Letzter Besuch

  1. Hallo Ich habe ein Problem. Und zwar habe ich n Vektoren und möchte nun alle möglichen Kombinationen der Vektoren bis zum Grad 3 erstellen. Ich kann das am besten an einem Beispiel erklären, nehmen wir an ich hätte 2 Vektoren, x und y und ich möchte alle möglichen Kombinationen bis zum Grad 3 erstellen, dann würde ich folgende Monome erhalten: x y x.^2 y.^2 x.^3 y.^3 x*y x*y.^2 x.^2*y Nun habe ich aber n Vektoren und möchte alle möglichen Terme bis zum Grad 3 erstellen. Ich sehe gerade nicht wie ich das rekursiv lösen könnte. Kann mir da jemand helfen?
  2. Hallo Ich habe ein kleines Anliegen bezüglich Objekt orientierten und relationalen (SQL etc.) Datenmodellen. Ich überlege mir gerade ein Beispiel wo das OO Datenmodell besser geeignet ist als das relationale und ein anderes Beispiel wo das relationale besser geeignet ist, aber ich komme irgendwie auf keinen grünen Zweig. Fallen vielleicht jemandem gerade solche Beispiele ein? Die Hauptanwendung von Objekt Datenbanken ist ja, Programmiersprachen persistent zu machen, d.h. Objekte zu konservieren. Was gibt es sonst noch für Anwendungen? Also im Sinne von Generalisierungen.
  3. Ich danke euch. Ich werde das einmal ausprobieren. Kann man damit auch ordered Tests "beleuchten"? Das Problem ist eben, dass ich ordered tests habe, wenn die tests nicht als ordered ausgeführt werden, schlagen viele fehl. Ich muss allerdings die code coverage abliefern.
  4. Hallo Ich habe gerade ein Projekt in C# abgeschlossen. Zum testen habe ich einige ordered unit tests (in Visual Studio) geschrieben. Nun ist es so, dass ich noch die code coverage bestimmen muss. Wenn ich zuerst die ordered tests ausführe und dannach in Visual Studio die code coverage results anzeigen lasse, dann erscheint die Meldung "Cannot find any coverage data (.coverage or .coveragexml) files. Check test run details for possible errors". Gibt es irgendeine Möglichkeit die code coverage anhand von den ordered unit tests zu bestimmen? Ich darf auch ein externes Tool benutzen, allerdings darf ich nichts mehr am code, auch nicht am test code verändern.
  5. Ich habe noch ein kleines zusätzliches Problem. Ich würde gerne einen timestamp für Dateien und Ordner einführen. Man könnte ja einen timestamp wie folgt bekommen. DateTime CurrentDate; CurrentDate = Convert.ToDateTime(DateTime.Now.ToString("yyyyMMddHHmmssffff")); Das Problem ist nun, dass ich die timestamps vergleichen möchte. Müsste ich da dann nach integer konvertieren? Oder wie macht man das?
  6. Ok, langsam ist es klarer. Wie kann ich den Hash über einen Pfad + Datei bilden? Also ich mein jetzt im konkreten Fall von C#. Ist eine etwas blöde Frage, aber ich bin da gerade etwas verwirrt und habe mit Hashes noch nicht so Erfahrungen. Ja, genau das. Wie lässt sich das denn in C# verwirklichen? Eine HashMap wäre ja bereits als Datenstruktur vorhanden.
  7. Ich danke euch. Du meinst ich solle für jedes Blatt einen Hashwert berechnen? Wobei ein Blatt ja ein leerer Ordner oder eine Datei sein kann. Dann muss ich aber ja alle Hashwerte der Blätter des einten Baumes gegen alle Hashwerte der Blätter des anderen Baumes vergleichen. Könnte ich nicht einfach beide Dateisystem rekursiv durchlaufen und vergleichen? Ich möchte die Dateisysteme als Snapshot vergleichen, d.h. feststellen welche Ordner und Dateien im einten Dateisystem vorhanden sind aber nicht im anderen.
  8. Hallo Ich habe zwei Dateisystem, welche jeweils Order und Dateien enthalten. Ich möchte nun beide Dateisysteme als Bäume darstellen damit ich dann die Differenz bilden kann und somit feststellen kann welche Dateien und Ordner unterschiedlich sind bzw. im einen Dateisystem vorhanden sind aber nicht im anderen. Ich habe das Dateisystem selber entworfen, hier ist es nur von Bedeutung, dass wir eine hierarichsche Struktur von Ordner und Dateien haben, welche jeweils einen Namen haben. Was für einen Baum würdet ihr da verwenden? Einen normalen n-ary tree? Wie kann solch ein Baum aufgebaut werden, so dass er dann die Ordner- und Filestruktur widerspiegelt? Also wie das theoretisch bei einem n-ary tree geht weiss ich, also die inneren Knoten sind Ordner, der jeweilige Inhalt des Ordners sind dann Kinder etc., ich habe aber mit der Implementation etwas Mühe. Wenn ich nun beide Bäume habe dann könnte ich ja einen normalen tree Diff Algorithmus anwenden. Ich habe bereits früher einmal einen Diff Algorithmus für Bäume implementiert (Zhang & Shasha’s Algorithmus), allerdings sind diese Algorithmen für grosse Bäume sehr langsam. Da ein Dateisystem aber sehr viele Ordner und Dateien enthalten kann und somit die Bäume sehr gross werden können und die Differenz allerdings trotzdem schnell berechnet werden muss, wäre dies vielleicht nicht so geeignet. Was könnte man denn sonst noch anwenden um die Differenz zu bestimmen oder sollte ich gar keinen Baum verwenden? Ich werde es übrigens in C# implementieren, wenn da vielleicht jemand direkt eine library oder code kennt, den ich verwenden oder als Inspiration brauchen könnte, wäre mir sehr gehollfen. Vielen Dank.
  9. Also wenn ich ja eine höhere Order für den B-Tree wähle, z.B. 100, dann reduziert sich ja die Tiefe und jeder Knoten hält eine grössere Anzahl keys. Trifft es zu, dass bei vielen files im virtual file system die order eher höher gewählt werden sollte und bei wenigen files eher eine kleinere order? Es wird jeder filename indexiert. Und was ist genau eine höhere order? Z.B. 100? By the way, die order eines B-Baums beschreibt die minimale Anzahl keys in einem Knoten.
  10. So ich konnte den B-Baum jetzt implementieren, sogar auch die Delete Methode. Nun bin ich mir aber unschlüssig welche Ordnung ich für den Baum wählen soll. Die Ordnung gibt ja die minimale Anzahl keys in einem Knoten an. Was für eine Ordnung würdet ihr da wählen wenn der B-Baum als Index für ein virtual file system gebraucht wird? Vielleicht 2 oder 3 oder doch höher?
  11. Ich brauche v.a. Code oder Pesudocode für die delete methode inklusive Rotatonen etc. des B-Baums. Den Rest sollte ich hinbekommen.
  12. So ich habe mich jetzt entschieden einen B-Baum zu implementieren. Ich habe nun Code gesucht, welcher einen B-Baum oder B+-Baum implementiert. Am besten in C# aber auch Java ist ok. Ich habe bei Google einige Implementationen gefunden, z.B. http://wwwiti.cs.uni-magdeburg.de/iti_db/algoj/code/algoj/kap14/BTree.java BTree.java - my-alogorithm-implementation - my-algorithm-implementation - Google Project Hosting BTree.java Sowas stelle ich mir etwa vor, also keine ganze extrem umfangreiche library, sondern einfach ein kurzes Stück Code, welches einen B-tree repräsentiert, also die Nodes, Operationen wie Einfügen, Löschen, Rebalancieren, Suchen etc. Bei den obigen code snippets fehlt eine delete Methode, das wäre noch wichtig. Kann mir da vielleicht jemand weiterhelfen bzw. kennt so ein code snippet? Ich würde so ein code snippet gerne als Vorlage bzw. Anregung benutzen.
  13. Du hast natürlich recht, da habe ich wohl etwas durcheinander gebracht. Könntest du vielleicht ein kleines Beispiel machen für einen B-Baum Index auf files? Ich habe gerade keine Ahnung wie ich das machen soll bzw. was die Knoten für Werte halten sollen. Es soll nur nach den Namen von Dateien gesucht werden, also z.B. "foo.txt" oder eventuell auch partielle Namen also nur "fo" oder "foo". Eventuell soll auch noch nach Verzeichnisnamen gesucht werden. Ist sowas auch im gleichen Baum möglich oder bräuchte ich da einen separaten Baum für die Verzeichnisnamen? Ja, sowas in der Art ist in Form eines streams vorhanden.
  14. Es geht um ein virtual file system, wobei eine virtual disk ein .zip file umfasst. In einer virtual disk, d.h. in dem .zip file, können dann vom Host Dateien importiert werden oder auch neue Dateien erzeugt werden etc. Das .zip File ist in sich hierarchisch organisiert, mit Verzeichnissen, Unterverzeichnissen, Dateien etc., so wie das host file system. Nun möchte ich für jede virtaul disk, d.h. für jedes .zip file einen Index erstellen. Da kommen entweder ein B-Baum oder eine sortedList oder Dictionary in Frage. Bei einem B-Baum würde ich den Index wie folgt sehen. Die inneren Knoten speichern Verzeichnissnamen bzw. Links zu Verzeichnissen und die Blätter Filenamen bzw. Links zu Files. Ich stelle mir das so vor: Wenn man eine Datei mit folgendem Pfad im .zip file hat C:\folder1\file1 dann hat man einen root Knoten mit label "C", der auf das C Verzeichnis zeigt, dann hat man einen Kindknoten mit Label "folder1" und dieser hat einen Kindknoten mit Label "file1". Oder sehe ich das falsch? Eine SortedList bzw. Dictionary ist ja nicht hierarschisch und dann würde das obige Verfahren nicht gehen. Richtig? Weiterhin brauche ich von den Indexes ja irgendeinen Link in das .zip File, d.h. in die virtual Disk. D.h. das obige Beispiel C:\folder1\file1 ist ja im .zip file hierarchisch vorhanden. Die Indexeintrage "C", "folger1" und "file1" sollten ja dann an die entsprechenden Stellen im .zip file zeigen. Wie kann ich das realisieren? der B-Baum soll nicht dazu da sein um die Daten zu speichern, sondern als Verweis auf die Daten, also für effizientes Suchen z.B. Die Datenmengen sind nicht so gross, d.h. die einzelnen virtual disks werden nicht allzu gross. Das ganze soll einfach als programming experience sein. Klar könnte man auch ein Verzeichnis nehmen, allerdings ist ja ein Zip z.B. schon kompromiert, d.h. man spart Speicherplatz.
  15. Es geht um ein virtual file system (ein rudimentäres) wobei eine virtual disk einem .zip file entspricht. D.h. in dem .zip file sind dann die ganzen Verzeichniss und Ordner hierarchisch gespeichert. Für jede virtual disk möchte ich nun einen Index erstellen. Es sollen damit dann Verzeichniss und Files gesucht werden und wenn man natürlich ein neues File vom host file system in die virtual disk importiert muss der Index aktualisiert werden. Ebenso beim löschen eines Files oder Verzeichnisses aus der virtual disk. Wenn ich nun in den Knoten die Verzeichnisse und Files speichern würde, wäre das ja redundant zum .zip file, d.h. ich brauche doch in den Knoten zwar die Namen der Verzeichnisse und Files, aber dann auch irgendeinen Link in das .zip File. Oder sehe ich das falsch?

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...