Kann jemand diesen Pseudocode vom Quicksort auf Java umschreiben?
Hi, ich beschäftige mich zurzeit mit Algoithmen, bin jedoch Mathematiker und kein Informatiker.
Ich besitze schon Codes vom Quicksort, die sind jedoch anders als der wie auf Wikipedia. Vom programmieren habe ich keine Ahnung, besitze nur einen Compiler für Java. Deshalb woltle ich fragen, ob jemand den Pseudocode umschreiben könnte auf Java, so wie er da ist?
https://de.wikipedia.org/wiki/Quicksort
Ich kann selber auch Pseudocodes erstellen, also die algorithmische Denkweise ist vorhanden, da ich jedoch Java nie gelernt habe, wüsste ich nicht, wie ich den Pseudocode auf Java schreiben kann.
Würde mich sehr über die Hilfe freuen :)
(Bitte nur zu Java)
Also vom Programmieren mit Java habe ich keine Ahnung beherrsche Maschinensprache sehr gut und c über die Grundlagenheraus. Aber habe zurzeit ienen verschlüsselten Pc, der keine Programminstallation zulässt und leider nur ienen Browser von 98 hat und iene Javaumgebung, mit dem Browser kann ich leider keine online C Programme ausführen
Warum lernst du nicht einfach Java?
Könnte ich, das Problem ist, dass ich mich eher mit Maschinensprache beschäftige und müsste parallel dazu Java lernen, was ich danach evt. machen wprde
Wenn du Maschinensprache so magst ist es ja noch besser, dann kannst du gleich Bytecode schreiben oder nicht?
Ja eigentlich schon, aber nicht ausführen. Da ich einen verschlüsselten pc zurzeit habe, der nur iene Javaumgebung hat, sonst würde ich das auch mit c machen.
5 Antworten
Und was bezahlst du, wenn ich dir den Code in Java schreibe?
Ein studierter Mathematiker, der nicht dazu in der Lage ist ein bisschen zu googeln und ein wenig Code zu schreiben. Hauptsache studiert.
Um den Pseudocode in Java umzuschreiben, musst du kein Java können. Lediglich lesen musst du können. Online steht alles, z.B. wie man eine Funktion in Java schreibt, wie man eine Variable deklariert, if-Bedingungen, etc.
Also komm... Warum sollen andere deine Arbeit machen?
Der Pseudocode von Wikipedia besteht aus den Funktionen quicksort() und teile(), falls dir das nicht aufgefallen ist. Das sind deutlich mehr als 10 Zeilen. Und wenn es nur so "kurz" ist, dann mach es doch selber.
Ja dann gib zum Beispiel google.com ein, oder duckduckgo.com oder bing.com.
Auf irgendwelche Suchmaschinen wirst du schon zugriff haben, wenn du auf GF zugriff hast.
Nein geh tnicht, Suchmaschinen werden abgelehnt, also werden gefiltert, schriebe ich z. B. google.de muss ich das Adminpw angeben, um auf die Seite zuzugreifen beid em Browser
Hier der Code von Wikipedia 1:1 nach Java transkribiert mit einem Beispielarray.
Kompilieren mit "javac Main.java". Danach ausführen mit "java Main".
Code:
import java.util.Arrays;
class Main {
public static int[] daten = { 1, 8, 6, 3, 9, 2, 7, 5, 4 };
public static void main(String[] args) {
System.out.println("Array vor Sortierung:");
System.out.println(Arrays.toString(daten));
quicksort(0, daten.length - 1);
System.out.println("Array nach Sortierung:");
System.out.println(Arrays.toString(daten));
}
public static void tausche(int i, int j) {
int temp = daten[i];
daten[i] = daten[j];
daten[j] = temp;
}
public static int teile(int links, int rechts) {
int i = links;
// Starte mit j links vom Pivotelement
int j = rechts - 1;
int pivot = daten[rechts];
// solange i an j nicht vorbeigelaufen ist
while (i < j) {
// Suche von links ein Element,
// welches groesser oder gleich dem
// Pivotelement ist
while (i < rechts && daten[i] < pivot) {
i++;
}
// Suche von rechts ein Element, welches
// kleiner als das Pivotelement ist
while (j > links && daten[j] >= pivot) {
j--;
}
if (i < j) {
tausche(i, j);
}
}
// Tausche Pivotelement (daten[rechts])
// mit neuer endgueltiger Position (daten[i])
// und gib die neue Position des Pivotelements
// zurueck, beende Durchlauf
if (daten[i] > pivot) {
tausche(i, rechts);
}
return i;
}
public static void quicksort(int links, int rechts) {
if (links < rechts) {
int teiler = teile(links, rechts);
quicksort(links, teiler - 1);
quicksort(teiler + 1, rechts);
}
}
}
Wozu nicht einfach Java lernen wenn du es benötigst.
Das ist jedenfalls die weitaus nachhaltigere Variante als für jeden Algorithmus eine Person fragen zu müssen die ihn umsetzt.
Java ist ohnehin ähnlich zu C/C++ C# PHP usw. also da erschlägst du gleich mehrere Sachen wenn du die Grundlegende Syntax erlernst.
Nein ich beherrsche C eig. gut und Maschinensprache. Problem ist, dass ich keinen Pc habe, wo ich C ausführen kann gerade, da ich einen verschlüsselten Pc habe. Ich kann ledier auch keine online compiler von C nutzen, da der Browser der installiert ist von 98 ist. Ist ein sehr stark verschlüsselter Pc, habe hier nur eine Java Umgebung
C und Java Syntax sind derart ähnlich dass das im Grunde leicht ist, aber diese Arbeit wurde dir bereits abgenommen:
int[] numbers = new int[] {10,5,6,4,1};
Array.sort(numbers);
Nach dem Ausführen von Array.sort ist das Array numbers sortiert. Der von Java dafür verwendete Algorithmus ist dabei genau Quicksort.
Jup, aber ich wollte eigentlich den Quicksort analyisieren
In wie fern Analysieren?
Das kannst du doch genau so am Pseudocode machen.
Außerdem liefert das Googeln nach Java Quicksort eben genau eine Implementierung des Quicksort für Java.
Problem ist ich kann nicht googlen mit dem Pc, könntest Du den Lin k senden haha?
Du kannst GuteFrage verwenden aber nicht Googeln, also ganz kauf ich dir das jetzt nicht ab.
Wenn jetzt kommt das verwendest du vom Handy musst du dich wohl auf die Frage einstellen, ob du mit dem Handy nicht googeln kannst.
Nein ich kann nur Internetseiten direkt angeben z. b. gutefrage.net, wikipedia.de etc. habe einen hoch verschlüsselten Pc gerade, der es nur eine Java Umgebung hat und einen Browser, wo man nur direkt die Internetseiten angeben kann, aber keine Suchmaschinen, wegen Internettracking oder ka, was hier eingestellt ist.
Dann geh auf javabeginners.de und such dir den Algorithmus raus.
Guckst du mal hier:
https://www.happycoders.eu/de/algorithmen/quicksort/
Detaillierte Erklärung zum Quicksort samt Quelltext für Java. 5 Sekunden Google. :)
Danke, kann leider nciht googlen :) Habe einen verschlüsselten Pc, der nur einen browser hat, wo man selber die Internetseiten angeben muss.
Also ich habe Quicksort nie selber implementiert. Aber eigentlich müsstest du ein Beispiel in C finden können. Die Syntax müsste nahezu gleich sein wie die von Java. Als Mathematikstudent solltest du das hinkriegen.
Hi, bin auch in Maschinensprache sehr fit, da ich mich damit hauptsächlich beschäftige. C kann ich leider auf dem Pc nicht ausführen, mit C kenne ich mich auch bisschen aus, muss jedoch das Programm mit nem Debugger ausführen und ich besitze zurzeit einen "verschlüsselten" Pc, der ledier keine Programminstallation zulässt. Würde sonst den mit c testen und für online compiler habe ich nicht den richitgen Browser leider
Hahahahahha, naja habe das nicht wirklich als Arbeit empfunden sind doch 10 Zeilen oder so. Ich habe nur leider keine C Umgebung da, nur Java und dachte mir dann vllt. schreibt das einer kurz um. Musst ja nciht antworten, also keiner, wenn man es nicht will. Dachte mir hal tgut 10 Zeilen, das macht man halt kurz.
Kann auch leider zurzeit nicht googlen, habe einen hoch verschlüsselten PC, bei dem nur eine Java Umgebung da ist und ein Browser, wo man die Website direkt eingeben muss, z. B. gutefrage.net. Sonst würde ich auch kurz das googlen, was die Syntax bei Java dafür ist un dnicht meine Zeit hier verschwenden