Sortieralgorithmen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
MEL
User
Beiträge: 2
Registriert: Dienstag 14. Mai 2013, 19:44

a)
Wie groß muss eine sortierte Liste sein, um bei einer rekursiven linearen Suche
innerhalb der Liste eventuell einen Stapelüberlauf der Python-Virtuelle-
Maschine zu produzieren?
b)
Wie groß kann eine sortierte Liste maximal sein, bevor bei einer rekursiven
Binärsuche ein Stapelüberlauf verursacht wird?
Erläutern Sie beide Antworten.


weiß jemand die antworte von diese aufgabe :?
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

MEL hat geschrieben:weiß jemand die antworte von diese aufgabe :?
Ein erster Ansatzpunkt könnte sys.getrecursionlimit sein.

Der genaue Wert hängt vom verwendeten Python-Interpreter ab (CPython 2.7 und PyPy 1.9 liefern mir deutlich unterschiedliche Werte) und kann außerdem geändert werden.
BlackJack

Wobei man mit dem Ändern sehr vorsichtig sein sollte, denn man kann Werte setzen, die dann aber nie erreicht werden (können), weil das Programm vorher hart abstürzt, also gewaltsam vom Betriebssystem beendet wird und sich nicht sauber selber beendet.

@MEL: Man kann a) und b) auch beantworten ohne den konkreten Wert zu kennen, in dem man einfach ein Limit auf n Stapelrahmen annimmt und die Antwort als Formel in Abhängigkeit von diesem festen aber beliebigen n angibt.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Och ihr tut grad so als wollte der OP das selbst beantworten. Da er sich aber nichtmal die Aufgabenstellung umschreibt bzw das wichtige extrahiert ...
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

MEL hat geschrieben:weiß jemand die antworte von diese aufgabe :?
Jab, die Antwort weiss jemand. :twisted:
Sirius3
User
Beiträge: 17741
Registriert: Sonntag 21. Oktober 2012, 17:20

jerch hat geschrieben:Jab, die Antwort weiss jemand. :twisted:
Unter anderem mit großer Wahrscheinlichkeit der Aufgabensteller.
Einfach mal den fragen :roll:
BlackJack

Hm, bei a) könnte man doch eigentlich auch sagen es kann schon bei einer leeren Liste passieren. Das da *eventuell* ein Stapelüberlauf passiert. :twisted:
Sirius3
User
Beiträge: 17741
Registriert: Sonntag 21. Oktober 2012, 17:20

@Blackjack: Wie kann ich bei vernünftigem Rekursionslimit bei einer leeren Liste einen Überlauf erzeugen?
Dass bei b) die leere Liste die richtige Lösung ist, ist ja klar.
BlackJack

@Sirius3: Da steht nirgends etwas von einem vernünftigen Rekursionslimit, und auch nicht der wievielte verschachtelte Aufruf der zur Sortierfunktion ist. ;-)
Antworten