binomialkoeffizient mit python berechnen

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
Benutzeravatar
LP640
User
Beiträge: 142
Registriert: Dienstag 29. September 2009, 14:40

hallo,
ich hab mal wieder lust ein kleines programm zu schreiben, diesmal zur wahrscheinlichkeitsrechnung.
hierzu würde ich gerne wissen, ob es einen befehl gibt, mit dem man den binomialkoeffizienten Bild berechnen kann?

wenn mir jemand weiterhelfen könnte, würde ich mich sehr freuen!

mfg
LP640
Xynon1
User
Beiträge: 1267
Registriert: Mittwoch 15. September 2010, 14:22

Ich weiß nicht ob das in einer Lib schon vorhanden ist, aber hier ist die passende Lektüre:

http://hodge.mathematik.uni-mainz.de/~s ... ng2006.pdf

Ein passender Algorithmus(Seite 11) für Python ist enthalten.

Aber was hat das mit einem GUI-Toolkit zu tun ? - imho falsches Unterforum.
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst.
Xynon auf GitHub
Benutzeravatar
LP640
User
Beiträge: 142
Registriert: Dienstag 29. September 2009, 14:40

vielen dank!
es funktioniert einwandfrei

mfg
LP640
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Kann man auch übrigens schön rekursiv lösen... hab ich mal für ne Freundin von mir für nen Programmierschein gemacht, allerdings in Java: http://paste.pocoo.org/show/290349/

Ok, habs mal schnell in Python umgesetzt:
http://paste.pocoo.org/show/290356/

Wäre mal interessant einen Geschwindigkeitsvergleich vorzunehmen; also zwischen der rekursiven und iterativen Methode.

Edit: Ok, ohne exakte Zeitmessung fällt einem bei (49, 6) sofort auf, wie schnell die iterative Lösung im Vergleich zu rekursiven ist. Bei genauerem Betrachten der beiden Algorithmen ist es auch klar, da der iterative eine Komplexität von O(k) hat und der rekursive irgend was in Richtung O(n) * O(k).

Fazit:Die iterative Variante ist zu bevorzugen :-) (Die rekursive sieht aber dafür eleganter aus imho :mrgreen: )
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Antworten