Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   MergeSort Abitur Problem Quellcode (https://www.delphipraxis.net/180798-mergesort-abitur-problem-quellcode.html)

ap0calypse 18. Jun 2014 13:11

MergeSort Abitur Problem Quellcode
 
Hey Leute,
ich habe nächste Woche mein mündliches Abitur in Informatik, und dort sollen wir auch etwas in Delphi Programmieren (Rekursive Bäume bei Turtle, Türme von Hanoi, Fakultät etc.). Leider hat er auch erwähnt, dass man Merge Sort können sollte.
Theoretisch weiß ich, wie das geht. Wird an vielen Stellen im Internet auch sehr einfach erklärt.
Leider weiß ich nicht, wie man soetwas programmiert..
Rekursiv die Zahlen so weit aufteilen, bis es nurnoch 2 Stk pro Speicher sind, aber ich hab irgendwie echt keinen Plan, wie man soetwas bewerkstelligen soll :D ..
Ich habe auch nirgends einen logischen Quellcode gefunden, der mir weiterhelfen könnte ..

Kann mir da einer von euch bitte helfen?

VIELEN DANK! :)

p80286 18. Jun 2014 13:52

AW: MergeSort Abitur Problem Quellcode
 
Aus der Wikipedia:
Der folgende Pseudocode illustriert die Arbeitsweise des Algorithmus, wobei liste die zu sortierenden Elemente enthält.
Code:
 funktion mergesort(liste);
  falls (Größe von liste <= 1) dann antworte liste
  sonst
     halbiere die liste in linkeListe, rechteListe
     linkeListe = mergesort(linkeListe)
     rechteListe = mergesort(rechteListe)
     antworte merge(linkeListe, rechteListe)
Code:
funktion merge(linkeListe, rechteListe);
  neueListe
  solange (linkeListe und rechteListe nicht leer)
  |    falls (erstes Element der linkeListe <= erstes Element der rechteListe)
  |    dann füge erstes Element linkeListe in die neueListe hinten ein und entferne es aus linkeListe
  |    sonst füge erstes Element rechteListe in die neueListe hinten ein und entferne es aus rechteListe
  solange_ende
  solange (linkeListe nicht leer)
  |    füge erstes Element linkeListe in die neueListe hinten ein und entferne es aus linkeListe
  solange_ende
  solange (rechteListe nicht leer)
  |    füge erstes Element rechteListe in die neueListe hinten ein und entferne es aus rechteListe
  solange_ende
  antworte neueListe
was daran ist unverständlich? bzw. kanns Du nicht umsetzen?

http://de.wikipedia.org/wiki/Mergesort

Gruß
K-H

ap0calypse 18. Jun 2014 15:04

AW: MergeSort Abitur Problem Quellcode
 
Um das umzusetzen reichen meine Delphi-Skills leider nicht ganz aus .. :D

p80286 18. Jun 2014 15:11

AW: MergeSort Abitur Problem Quellcode
 
Zitat:

Zitat von ap0calypse (Beitrag 1262789)
Um das umzusetzen reichen meine Delphi-Skills leider nicht ganz aus .. :D

Im Klartext, Du hast keine Ahnung?
Wenn das nicht korrekt sein sollte, stell doch ein paar konkrete Fragen!

Gruß
K-H

ap0calypse 18. Jun 2014 15:17

AW: MergeSort Abitur Problem Quellcode
 
Im Klartext heißt das, dass ich genügend Ahnung habe um zb die Fakultät oder Türme von Hanoi zu programmieren, bekomme Merge Sort aber nicht hin und habe auch keinen blassen Schimmer wie ich das machen kann..

LG Ap0

Dejan Vu 18. Jun 2014 15:33

AW: MergeSort Abitur Problem Quellcode
 
Wenn Du die Türme von Hanoi hinbekommst, bekommst du auch MergeSort hin. Wie sähe denn dein Ansatz aus? Wo kommst Du nicht weiter?

ap0calypse 21. Jun 2014 15:43

AW: MergeSort Abitur Problem Quellcode
 
Türme von Hanoi hab ich nur über die ListBox gemacht ..

Dejan Vu 21. Jun 2014 18:17

AW: MergeSort Abitur Problem Quellcode
 
Zitat:

Zitat von ap0calypse (Beitrag 1263120)
Türme von Hanoi hab ich nur über die ListBox gemacht ..

Äh, wie das? Zeig mal, denn Du gibst ja vor..
Zitat:

Zitat von ap0calypse (Beitrag 1262792)
...dass ich genügend Ahnung habe um zb die Fakultät oder Türme von Hanoi zu programmieren...

also, zeig mal.

Delphi-Laie 21. Jun 2014 18:43

AW: MergeSort Abitur Problem Quellcode
 
Besorge Dir mein sog. Sortierkino (auch in diesem Forum zu finden), das beinhaltet reichlich Mergesorts.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:17 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz