Thema Datum  Von Nutzer Rating
Antwort
Rot Pemutation eines Vektors (Matrix) ohne Wiederholungen
15.07.2018 18:05:14 Daniel
NotSolved
16.07.2018 17:41:14 Mackie
NotSolved
17.07.2018 07:29:46 Daniel
NotSolved
17.07.2018 07:48:43 Mackie
NotSolved
17.07.2018 09:35:18 Gast43573
NotSolved
31.07.2018 09:40:51 Daniel
NotSolved
03.08.2018 16:54:48 Daniel
NotSolved

Ansicht des Beitrags:
Von:
Daniel
Datum:
15.07.2018 18:05:14
Views:
1048
Rating: Antwort:
  Ja
Thema:
Pemutation eines Vektors (Matrix) ohne Wiederholungen

Hallo zusammen,

ich habe folgende Problemstellung:

Vektor mit n Einträgen, wobei n > 2 mit z. B. folgender Syntax:

1, 0, 0, 0   oder    2, 0, 0, 0   oder   1, 1, 0, 0  oder    2, 1, 0, 0   oder  2, 2, 0, 0

d. h. der Vektor (hier 4 Stellen lang) beinhaltet immer nur am Anfang einen Eintrag ungleich 0 und dieser ist entweder 1 oder 2. Die oberen 5 Möglichkeiten wären, wenn jeweils max. 2 Stellen des Vektors belegt werden würden, es könnten aber auch mehr sein, z. B. 3 Stellen, dann würden dementsprechend folgende Möglichkeiten hinzukommen:

1, 1, 1, 0   und    2, 1, 1, 0   und    2, 2, 1, 0   und   2, 2, 2, 0

Im Prinzip könnten auch 4 der 4 Stellen belegt sein. Die o. g. Vektoren werden bereits automatisch durch meinen Programmcode erstellt. Jedoch müssen diese Vektoren noch permutiert werden, sodass ich alle tatsächlichen Möglichkeiten (keine 0 mit einer 0 getauscht oder eine 1 mit einer 1 usw.) erhalte. Das mache ich aktuell noch mit dem Code, den Norbi am 2.7.2002 um 17 Uhr gepostet hat: http://www.herber.de/forum/archiv/132to136/133059_Permutationen.html

Jedoch ruft dieser Code sich selbst auf, was die Rechenzeit extrem in die Höhe treibt und es werden Wiederholungen permutiert, sprich der o. g. Vektor ergibt 4! = 24 Möglichkeiten. Nun kommt es beispielsweise auch vor, dass der Vektor 8 Einträge lang ist und 4 davon mit den Zahlen 1 und 2 besetzt werden sollen, was extrem viele Berechnungen zur Folge hat. Solche Fälle habe ich aktuell in meinem Programmcode aufgrund der Rechenzeit noch gesperrt, benötige sie aber.

Nun wollte ich fragen ob jmd einen effizienteren Programmcode für die Permutation kennt? Am besten natürlich einen, der mir nur die tatsächlich unterschiedlichen Kombinationen berechnet und nicht aus dem Vektor 1, 1, 0, 0 noch zusätzlich den Vektor 1, 1, 0, 0 permutiert, da er die 1 mit der 1 tauscht oder die 0 mit der 0...

 

Vielen Dank bereits im Voraus für Eure Hilfe!

LG Daniel


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Pemutation eines Vektors (Matrix) ohne Wiederholungen
15.07.2018 18:05:14 Daniel
NotSolved
16.07.2018 17:41:14 Mackie
NotSolved
17.07.2018 07:29:46 Daniel
NotSolved
17.07.2018 07:48:43 Mackie
NotSolved
17.07.2018 09:35:18 Gast43573
NotSolved
31.07.2018 09:40:51 Daniel
NotSolved
03.08.2018 16:54:48 Daniel
NotSolved