www.vorkurse.de
Ein Projekt von vorhilfe.de
Die Online-Kurse der Vorhilfe

E-Learning leicht gemacht.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Teams · Forum · Wissen · Kurse · Impressum
Forenbaum
^ Forenbaum
Status Mathe-Vorkurse
  Status Organisatorisches
  Status Schule
    Status Wiederholung Algebra
    Status Einführung Analysis
    Status Einführung Analytisc
    Status VK 21: Mathematik 6.
    Status VK 37: Kurvendiskussionen
    Status VK Abivorbereitungen
  Status Universität
    Status Lerngruppe LinAlg
    Status VK 13 Analysis I FH
    Status Algebra 2006
    Status VK 22: Algebra 2007
    Status GruMiHH 06
    Status VK 58: Algebra 1
    Status VK 59: Lineare Algebra
    Status VK 60: Analysis
    Status Wahrscheinlichkeitst

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Diskrete Mathematik" - Mengenpartitionen
Mengenpartitionen < Diskrete Mathematik < Hochschule < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Diskrete Mathematik"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Mengenpartitionen: Algorithmus
Status: (Frage) beantwortet Status 
Datum: 17:02 Sa 10.05.2008
Autor: cofriga

Aufgabe
berechnung aller mengenpartitionen
beispiel:
für (1234): (1234),(123)(4),(124)(3),(134)(2),(234)(1),(12)(34),(1)(2)(34),(1)(3)(24),
(1)(4)(23),....,(3)(4)(12),(1)(2)(3)(4)

hallo ich suche einen algorithmus, um wie in der aufgabe beschrieben, alle partitionen zu finden.

Wenn ich zu einer Menge einen Array gleicher Länge erzeuge, und dann binär durchzähle, was einer Partition entspricht, klappt es nicht ganz:

0000=(1234)
0001=(123)(4)
0010=(12)(3)(4)
0011=(12)(34)
0100=(1)(2)(34)
0101=(1)(2)(3)(4)
0110=(1)(23)(4)
0111=(1)(234)

soweit so gut. jedoch fehlen einige Partitionen:
(1)(3)(24) zb
würde ich weiter zählen, kämen zu viele Lösungen:
1000=(1)(234)=0111

ich habe versucht, in gewissen fällen dieses binäre zählen mit k-teilmengen zu verknüpfen, jedoch kämen da auch zu viele lösungen heraus.

gibt es irgendwelche tipps?
vielen dank im voraus!

Ich habe diese Frage auch in folgenden Foren auf anderen Internetseiten gestellt:
http://www.c-plusplus.de/forum/viewtopic-var-t-is-212791.html

        
Bezug
Mengenpartitionen: Antwort
Status: (Antwort) fertig Status 
Datum: 19:26 Sa 10.05.2008
Autor: koepper

Hallo,

alle Mengenpartitionen einer Menge A bekommst du am einfachsten rekursiv. Sei $a [mm] \in [/mm] A$ und $B := A [mm] \setminus \{a\}$. [/mm]
Betrachte alle Mengenpartitionen von B. Zu jeder Mengenpartition MPB von B bekommst du Mengenpartitionen von A, indem du nacheinander zu jeder Teilmenge in MPB das Element a hinzufügst und außerdem das Element a einmal als separate Teilmenge hinzufügst.
Die Programmierung erfolgt auf genau diese Weise rekursiv.

LG
Will

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Diskrete Mathematik"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.vorkurse.de
[ Startseite | Mitglieder | Teams | Forum | Wissen | Kurse | Impressum ]