Zum Inhalt springen

flashpixx

Mitglieder
  • Gesamte Inhalte

    8302
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von flashpixx

  1. Doch das geht, denn Du kennst zu beginn die Anzahl an Elementen, nach Deiner Angabe max 2^25 Elemente, damit die die Menge endlich und Du kannst 2^25 / 3 Buckets damit anlegen. Zusätzlich sagst Du ja es dürfen maximal 4 Elemente pro Bucket sein, d.h. 0 <= x <= 4. Da Du beim maximalen Wert von 2^25 Elementen nur 1/3 an Buckets hast, kannst Du diese komplett füllen, ohne dass Du gegen Deine Vorgabe verstößt Natürlich ist die Frage des "wie befüllst Du die Buckets". Darüber hast Du nichts gesagt, d.h. ich würde naiv mit dem ersten Bucket beginnen und eben gleich verteilen, d.h. im maximalen Fall hast Du 3 Elemente pro Bucket, im minimalsten Fall entstehen leere Buckets. Oder soll es sich hier um ein Optimierungsproblem handeln wie z.B. Rucksackproblem ? Wikipedia ? Phil
  2. flashpixx

    Treemap

    Dann mach es mit dynamischer Programmierung. Mal ganz grob der Algorithmus (es handelt sich um das Bellmann Prinzip, d.h. die Teillösungen, die Du ermittelst sind optimal, so dass die Gesamtlösung auch optimal ist - salopp formuliert): aktuelle Position (i,j) Zielposition (n,m) so lange (i,j) != (n,m) a = ||(i,j) - (i+1,j)|| b = ||(i,j) - (i-1,j)|| a = ||(i,j) - (i,j-1)|| b = ||(i,j) - (i,j+1)|| (i,j) = min(a,b,c,d) Du betrachtest immer nur die nächste Teillösung des Problems, d.h. der kürzeste Pfad ist von der aktuellen Position der Weg / das Element, das den kürzesten Abstand zum aktuellen Punkt hat. In diesem Fall müssen Dir sowohl Start und Ziel bekannt sein und Du musst darauf achten, dass keine Schleifen entstehen, weil dann die Schleife nicht terminiert. Wenn Du nur den kürzesten Pfad innerhalb Deiner Matrix benötigst, dann wirst Du nicht darum herum kommen alle Pfade zu durchlaufen. Das wird aber dann O(c*n*m), wobei Du das c geschickt klein halten kannst, in dem Du ähnlich wie im Algorithmus die Wege auswählst, d.h. Du betrachtest nur immer einen Weg der kürzer ist wie Dein aktueller Phil
  3. Generell gelten ja die Landau-Symbole: Landau-Symbole ? Wikipedia aber da Du ja schon von Buckets redest: Bucketsort ? Wikipedia Du solltest auch noch überlegen, ob es sich hier _nur_ um den Formalismus handelt oder eine konkrete Implementierung, denn bei der konkreten Implementierung macht natürlich ein O(cn) für große bzw kleines c auch noch einen wirklichen Unterschied. Phil
  4. flashpixx

    Treemap

    @elSusto: Bubblesort ist O(n^2) Algorithmus und damit für große Datenmengen ungeeignet, außerdem wird in einer Treemap schon eine Sortierung anhand des Suchbaums durchgeführt. Phil
  5. VPN ist Routing, Samba Announcements werden per Broadcast übermittelt, beim Routen werden aber Broadcast generell nicht übertragen, somit kannst Du den Server nur durch direkte Eingabe der IP/Namens aufrufen. Alternative konfiguriere das Routing entsprechend um Phil
  6. flashpixx

    Ubuntu Einstieg

    Ich würde da dann doch noch eher zu einem Gentoo raten. Installation muss man aus einem Minimalsystem und einem Tarball machen, Kernel wird nicht von Hause mit geliefert, sodass man selbst kompilieren muss. Alo der Bezug zum Code ist bei Gentoo im Gegensatz zu einer Binärdistribution höher. Wie aber Vic schon gesagt hat: Von Datenbank über Webserver kannst Du alles machen Phil
  7. Die Uhren synchronisieren, Network Time Protocol ? Wikipedia wäre wohl das passende Phil
  8. flashpixx

    Treemap

    Hallo, wenn Du vielleicht das Problem einmal etwas umfangreicher beschreiben würdest, dann könnte man durch einen anderen Algorithmus evtl das Problem optimieren z.B. wenn Du "kürzeste Pfade" benötigst usw. Hierzu wären z.B. Graphenalgorithmen oder auch dynamische Programmierung (Bellman Prinzip) mögliche Ansätze Phil
  9. Generell solltest Du bei Verständnisfragen immer denjenigen fragen, der die Aufgabe stellt. Aber Du sollst in der Combobox "Name", "Vorname" usw auswählen können und in einem Textfeld dann eben den zusuchenden Namen eingeben. Ich denke der zweite Teil ist klar formuliert Phil
  10. Ich will einmal zu bedenken geben, wirklich gut über die "Parallelisierung" nachzudenken. Nur weil es parallel verarbeitet wird, ist es nicht schneller. Um eine gute Parallelisierung zu erreichen, solltest Du Dein Problem zunächst wirklich umfassend analysieren, denn z.B. wenn Du irgendwo einen Datenaustausch (Mutex) zwischen zwei Tasks hast, kann Dir das unter Umständen jeden Performancegewinn wieder zu nichte machen Phil
  11. ich dachte schon, denn das wäre oversized Da würde ich eine fertige Komponente nehmen und mir einfach die Dateiliste zurück geben lassen Phil
  12. Du hast den Zip Algorithmus http://de.wikipedia.org/wiki/ZIP_(Dateiformat) selbst programmiert? Phil
  13. Da Du nicht schreibst was Du überhaupt verwendest ist es schwer zu helfen. Die zwei Zip Systeme die mir direkt einfallen wären: File_Archive PHP: Zip - Manual Aber es ist immer hilfreich, wenn Du Code und Fehlermeldungen postest Phil
  14. flashpixx

    Dateien speichern

    Wenn man dann elegant machen will, würde ich zu Jaxb raten, denn dann hat man mit der eigentlichen XML Repräsentation nicht viel zu tun und die XML Dateien sind immer direkt der Definition entsprechend Phil
  15. flashpixx

    2 abfragewerte

    Ich rate gerade dabei zu PrepareStatements. Es erleichtert die genaue Typenzuordnung. Operatoren in Java Ich möchte Dir aber noch zu Deinem Datenmodell sagen, dass Du dieses ggf einmal überdenken solltest, denn man würde Vornamen und Nachmen trennen, damit auch Teilsuchen möglich sind Phil
  16. flashpixx

    Dateien speichern

    Ich habe nichts gegenteiliges gesagt: siehe dazu ggf: SQL ? Wikipedia Java Database Connectivity ? Wikipedia SQLite ? Wikipedia Phil
  17. flashpixx

    2 abfragewerte

    Bitte schreibe genau was Du meinst! Wo hast Du die beiden Felder in der Datenbanktabelle oder in Deinem Programm. Aufgrund des Codes würde ich auf das Programm tippen, dann musst Du einfach beide Strings konkatenieren (siehe dazu die Operatoren in Java). Wenn Du es genau anders brauchst, d.h. Du hast ein Feld in Deinem Programm aber zwei in der Datenbank, nimm einen Tokenizer um Deinen String zu trennen Ich rate Dir bei SQL ganz dringend zu PrepareStatements. Phil
  18. flashpixx

    Dateien speichern

    Generell solltest Du Dir die Outputstreams anschauen, wenn Du es dateibasiert machen möchtest. Ich würde aber eher zu SQL Lite raten, da Du einfach bequemer mit einer Datenbank arbeiten kannst. Da SQL Lite dateibasiert arbeitet hast Du eben wieder Deine Dateien Phil
  19. DU musst eine Manifest.mf (Textdatei) erstellen darin die Klasse, die die main-Methode enthält angeben und dann mit "jar" aus den Klassen und der Manifest Deine Jar bauen Grundlagen zu Jar stehen im Wiki Artikel Java Archive ? Wikipedia Es ist eigentlich recht einfach, es ist nur zu beachten dass bei der Manifest-Datei am Schluss eine Leerzeile eingefügt werden muss. Ansonsten ist das wirklich schnell gemacht Ohne Garantie jar -c <Name der Jar> <Name der Manifest> <Klasse und Pfade z.B. myproject/*.class> Phil
  20. Also ich weiß nicht, Dein Programm soll ja nur was ausrechnen. Wenn ich Dir jetzt einfach den Tipp gebe, dass Du das ganze ohne BlueJ und GUI machst, dann hast Du auch recht schnell wirklich Java drauf: public meineKlasse { public static void main(String[] args) { } } wäre der Rumpf mit dem Du anfängst. Für jede Klasse legst Du eben eine neue Datei mit einem Namen an und in der main-Methode beginnt Dein Programm. Als Online-Buch kann man das empfehlen Galileo Computing :: Java ist auch eine Insel (8. Auflage) Technisch würdest Du mit einer Klasse auskommen, d.h. Du würdest in die Main-Methode alles rein programmieren, ist zwar unschön, aber für einen Anfänger okay Phil
  21. Es gibt dafür nichts fertiges, Du musst Dir eben selbst die passenden Klassen mit den Inhalten erstellen, d.h. Dein Problem musst Du in einzelne Teile zerlegen und Dir überlegen wie Du das dann sinnvoll in Klassen umsetzt und diese dann entsprechend programmieren. Eine Einführung in BlueJ findest Du hier BlueJ-Lehrgang von Ulrich Helmich, Inhalt BlueJ basiert letztendlich auf Java, d.h. Du kannst einen beliebigen Tastendruck verarbeiten (How to Write a Key Listener (The Javaâ„¢ Tutorials > Creating a GUI with JFC/Swing > Writing Event Listeners)). Inwieweit BlueJ so etwas ggf schon implementiert hat, müsstest Du der Doku entnehmen. Phil
  22. evtl schaust Du Dir das mal an ThreadGroup (Java 2 Platform SE v1.4.2) Aber was mich im Moment stört, dass Du immer 5 aktive Tasks haben willst und diese als Gruppe betrachteten möchtest. Mir ist der Zweck davon nicht klar. Warum 5 und nicht 10 oder 2. Vielleicht beschreibst Du mal die Problemstellung, damit evtl darüber nachdenken kann Phil
  23. Es gibt eine Quote-Funktion! zu SSH: Secure Shell ? Wikipedia zu mySQL-Befehl: mysql(1): MySQL tool - Linux man page PHPMyAdmin ist ein webbasiertes Tool, mySQL bringt entsprechend Konsolenprogramme mit über die man auch arbeiten kann und genau diese sollst Du verwenden. Phil
  24. Wo ist denn jetzt genau das Problem? Versuche mal Dein Problem präzise aufzuschreiben Phil
  25. Mach das ganze mal bitte als eine Datei und importiere es per Konsolenbefehl. Was tritt dann für eine Meldung auf Phil

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