Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Theoretische Informatik » Korrektheitsbeweis Selection-Sort » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Korrektheitsbeweis Selection-Sort
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
JaJaSoIstDasMitDerUni
unregistriert
Korrektheitsbeweis Selection-Sort Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ja also im Fach Experimentelle Algorithmik haben wir unter Anderem die Aufgabe die Korrektheit des Algorithmus Selection-Sort zu beweisen. Glücklicherweise dürfen wir diese Aufgabenstellung oberflächlich beantworten, weswegen ich nochmal den Prof gefragt habe was das bedeutet und die folgenede Antwort bekam:

'Meine Empfehlung wäre, sich einfach folgende Frage zu stellen: "Wie könnte ich einen Kommilitonen, der sich zwar vielleicht fürs Programmieren interessiert, aber nicht besonders für Mathematik oder für Korrektheitsbeweise, ÜBERZEUGEN, dass der Algorithmus funktioniert?" Stellen Sie sich diese Situation einfach vor bzw. versuchen Sie sich einfach im Team gegenseitig von der Korrektheit zu überzeugen. Man könnte auch nur mit Beispielen arbeiten. Oder man könnte ordentlich beweisen, dass nach dem 1. Schritt ein bestimmtes Teilproblem gelöst wurde, und dann einfach nur noch sagen "Und der Rest geht dann analog". So was in die Richtung.'

Ich wäre euch im folgenden total dankbar wenn ihr mir schamlos einfach eine Lösung präsentiert, denn ich bin zwar im Stande diese im Nachhinein zu verstehen, aber Sie selber zu erzeugen vermag ich sie momentan leider nicht. Glücklicherweise ist uns um Hilfe zu fragen explizit erlaubt.

"Und übrigens: Es wurde auch nie verlangt, dass Sie sich alles selbst ausdenken müssen. Es ist erlaubt, Teilaspekte in einschlägiger Literatur nachzuschlagen und zu verwenden -- solange Sie es selbst verstanden haben und gut erklären können und die Quelle nennen."


Hier sind die Varianten von Selection-sort die wir verwenden (C):


void sort(Elements& e, const unsigned int left,
const unsigned int right) const
{

int min;

for (int i = left; i < right; i++)
{

min = i;

for (int j = i + 1; j <= right; j++)
{

if (e[j] < e[min]) min = j;

}

e.swap(min, i);

}

}


Danke im Vorraus und liebe Grüße!
18.11.2016 13:46
JaJaSoIstDasMitDerUni
unregistriert
Zweite Variante Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Das hier ist die zweite Variante:

void sort(Elements& e, const unsigned int left,
const unsigned int right) const
{

for (unsigned minIndex = 0, maxIndex = right; minIndex < maxIndexAugenzwinkern

{

Element min = e[minIndex];

Element max = e[maxIndex];

unsigned newMinIndex = minIndex + 1;

unsigned newMaxIndex = maxIndex;


for (unsigned index = newMinIndex; index <= newMaxIndexAugenzwinkern

{

Element value = e[index];


if (value <= min)

{

if (value < min)

{

min = value;

newMinIndex = minIndex;

e[index] = e[newMinIndex];

}

else

{

e[index] = e[newMinIndex];

++index;

}

e[newMinIndex] = value;

++newMinIndex;

}

else if (value >= max)

{

if (value > max)

{

max = value;

newMaxIndex = maxIndex;

}

e[index] = e[newMaxIndex];

e[newMaxIndex] = value;

--newMaxIndex;

}

else ++index;

}

minIndex = newMinIndex;

maxIndex = newMaxIndex;

}

}


Wenn ihr mir nur mit dem ersten helfen könnt wäre das auch schon total super.

lG
18.11.2016 13:55
JaJaSoIstDasMitDerUni
unregistriert
Oh man die einrückungen verschwinden ja! Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Verdammt :x
18.11.2016 13:56
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Theoretische Informatik » Korrektheitsbeweis Selection-Sort