|
Autor |
Matrix überdeckung |
|
VincC
Ehemals Aktiv  Dabei seit: 15.05.2014 Mitteilungen: 21
 | Themenstart: 2017-12-27
|
Moin, ich möchte zu gegebener n x n Matrix die minimale überdeckung (Zeilen, Spalten) finden, so dass alle nullen überdeckt sind. Dabei möchte ich aber auch speichern welche Zeilen und spalten ich gestrichen habe. Ich habe erstmal die anzahl maximaler nullen in zeile und spalte gesucht und dann den erstbesten gestrichen und das in einer while schleifen laufen lassen bis alle nullen weg sind. Das problem ist das ich mir nicht wirklich sicher bin ob das prinzip überhaupt funktioniert (greedy) und das ich nicht richtig speichern kann welche zeile/spalte gestrichen wurde.
Ich dachte mir, dass ich eine neue matrix erstelle
B = zeros(n,n)
und dann falls die i-te zeile gestrichen wird die i-te zeile von B um eine erhöt wird und die analog für spalten. Hier ist Z(i) die anzahl der nullen in zeile i und S für die spalten
\sourceon matlab
for i= 1:n %edit here, since we dont cover all cases.
if Z(i) == maxN
B(i,:) = B(i,:) + 1
A(i,:) = [];
break
end
if S(j) == maxN
B(:,i) = B(:,i) + 1
A(:,i) = [];
break
end
j=j+1;
end
\sourceoff
|
Profil
|
VincC wird per Mail über neue Antworten informiert. |
|
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2023 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen. Lesen Sie die
Nutzungsbedingungen,
die Distanzierung,
die Datenschutzerklärung und das Impressum.
[Seitenanfang]
|