Theoretische Übung 6

cb.huyen
Neuling
Neuling
Beiträge: 10
Registriert: 3. Okt 2011 18:36

Theoretische Übung 6

Beitrag von cb.huyen »

Hallo,

ich habe zur Aufgabe 6.4 eine Frage: Welche int-Werte wählt man denn für die Inputs "left" und "right"? Und welche Funktion haben diese int-Werte überhaupt? Möchte gern den Algorithmus nachvollziehen, in dem ich ein kleines Bsp konstruiere und da sind mir diese int-Werte echt ein Rätsel :oops: ...

AlexanderBirx
Erstie
Erstie
Beiträge: 14
Registriert: 22. Apr 2012 19:26

Re: Theoretische Übung 6

Beitrag von AlexanderBirx »

Ich schätze mit left und right sind die Grenzen m1 und m2 beim Aufteilen nach Pivotwert gemeint.

https://hermes.algo.informatik.tu-darms ... y_scanning

Meiner Meinung nach sollte bei der a) jedoch trotzdem ein left und right vorgegeben werden, denn man soll die Sache ja erst bei der b) mit beliebigen left und right betrachten.

Alex

Edit: Der Algorithmus sortiert das Array offensichtlich nur vollständig, wenn man left = 0 und right = array.length - 1 wählt. Von daher grenzen left und right wohl den Bereich des Arrays ein, der sortiert werden soll. Ist aufgrund der Rekursion auch sinnvoll das so zu machen.

null
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 168
Registriert: 21. Apr 2012 14:58

Re: Theoretische Übung 6

Beitrag von null »

Verstehe ich die Aufgabenaufstellung richt, wenn ich für "int i = left - 1" zwei Operationen zähle? Zum einen wird eine arithmetische Operation und zum anderen eine Zuweisung ausgeführt.

Danke

Prof. Karsten Weihe
Dozentin/Dozent
Beiträge: 1824
Registriert: 21. Feb 2005 16:33

Re: Theoretische Übung 6

Beitrag von Prof. Karsten Weihe »

null hat geschrieben:Verstehe ich die Aufgabenaufstellung richt, wenn ich für "int i = left - 1" zwei Operationen zähle? Zum einen wird eine arithmetische Operation und zum anderen eine Zuweisung ausgeführt.
Yep

KW

jan789
Windoof-User
Windoof-User
Beiträge: 38
Registriert: 10. Apr 2012 21:38

Re: Theoretische Übung 6

Beitrag von jan789 »

Stellt ein Methodenaufruf mit 3 Parametern dann auch 3 Zuweisungen dar? :)

Patrick.Lerner
Mausschubser
Mausschubser
Beiträge: 65
Registriert: 5. Aug 2011 04:51
Wohnort: Lautertal, Kreis Bergstraße
Kontaktdaten:

Re: Theoretische Übung 6

Beitrag von Patrick.Lerner »

jan789 hat geschrieben:Stellt ein Methodenaufruf mit 3 Parametern dann auch 3 Zuweisungen dar? :)
Ich wuerde mal sagen nein. Es gilt im Uebrigen ja auch "Pass by Reference", nicht "Pass by Value".

Da die JVM stackbasierend ist müsstest du wenn du einen Funktionsaufruf (e.g. "push param3; push param2; push param2; call x") als mehrere Operanden zählst, dann müsstest du auch arithmetisches als mehreres Zahlen ("push val2; push val2; add"). Und wenn du es so genau nimmst kommt es wieder auf die wall-clock-time an, da push Operationen viel schneller sind als beispielsweise arithmetische. Sprich ich denke hier ist die vereinfachte Variante gedacht, also Funktionsaufruf ist eine Operation, unabhängig von den Parametern.
:() { :|:& }; :

Prof. Karsten Weihe
Dozentin/Dozent
Beiträge: 1824
Registriert: 21. Feb 2005 16:33

Re: Theoretische Übung 6

Beitrag von Prof. Karsten Weihe »

jan789 hat geschrieben:Stellt ein Methodenaufruf mit 3 Parametern dann auch 3 Zuweisungen dar? :)
Solange Sie Ihrem Tutor klarmachen können, dass Sie wissen, was Sie tun, sollten solche Feinheiten irrelevant sein. 8)

KW

jan789
Windoof-User
Windoof-User
Beiträge: 38
Registriert: 10. Apr 2012 21:38

Re: Theoretische Übung 6

Beitrag von jan789 »

Klingt fair ;) ...

Danke & Gruß
Jan

bagwell
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 109
Registriert: 15. Nov 2010 09:18

Re: Theoretische Übung 6

Beitrag von bagwell »

Hallo,

ich habe eine kleine Verständnisfrage zur Aufgabe 6.2.

Wenn eine Funktion f im "Theta" von g ist, also " f = g", dann ist sie doch automatisch auch im "Groß-O" und "Omega" von g (also "f<=g" und "f>=g").

Das bedeutet doch dann, dass nie der Fall auftreten kann, dass nur "Theta" alleine anzukreuzen ist, oder?

Danke und Gruß

Antworten

Zurück zu „Archiv“