flashpixx
Mitglieder-
Gesamte Inhalte
8302 -
Benutzer seit
-
Letzter Besuch
Inhaltstyp
Profile
Forum
Downloads
Kalender
Blogs
Shop
Alle Inhalte von flashpixx
-
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
-
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
-
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
-
@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
-
Mit Windows XP über VPN auf Samba-Share zugreifen
flashpixx antwortete auf centershock's Thema in Windows
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 -
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
-
Die Uhren synchronisieren, Network Time Protocol ? Wikipedia wäre wohl das passende Phil
-
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
-
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
-
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
-
[php] Zip/unzip für Plugin-Dateien
flashpixx antwortete auf Aiun's Thema in Skript- und Webserverprogrammierung
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 -
[php] Zip/unzip für Plugin-Dateien
flashpixx antwortete auf Aiun's Thema in Skript- und Webserverprogrammierung
Du hast den Zip Algorithmus http://de.wikipedia.org/wiki/ZIP_(Dateiformat) selbst programmiert? Phil -
[php] Zip/unzip für Plugin-Dateien
flashpixx antwortete auf Aiun's Thema in Skript- und Webserverprogrammierung
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 -
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
-
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
-
Ich habe nichts gegenteiliges gesagt: siehe dazu ggf: SQL ? Wikipedia Java Database Connectivity ? Wikipedia SQLite ? Wikipedia Phil
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
Wo ist denn jetzt genau das Problem? Versuche mal Dein Problem präzise aufzuschreiben Phil
-
Mach das ganze mal bitte als eine Datei und importiere es per Konsolenbefehl. Was tritt dann für eine Meldung auf Phil