Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Erkennen von Zahlenpaaren (https://www.delphipraxis.net/186881-erkennen-von-zahlenpaaren.html)

Dejan Vu 9. Okt 2015 20:04

AW: Erkennen von Zahlenpaaren
 
Zitat:

Zitat von BUG (Beitrag 1318111)
Zitat:

Zitat von Dejan Vu (Beitrag 1318108)
Ganz einfach. Dauert nur. Denn es gibt 2^n Teilmengen einer n-elementigen Menge.

Und dir ist klar das 2^1000 eine nicht unbedingt kleine Zahl ist?

Meister, was meinst Du? Ob mir das klar ist? ;-)

Zitat:

Zitat von Namenloser (Beitrag 1318199)
Also ohne Backtracking wird es nicht gehen.

Delphi-Quellcode:
foreach (t in Teilmengen(MengeVonZahlen)) do
  if DieAndereMenge.Enthaelt(t.Summe) then
    Writeln(t.ToString);
Schon mal nicht 'Backtracking'. Bleibt noch 'Teilmengen' bzw. die dort enthaltene Funktion 'NächsteTeilmenge'. Die wird man eleganterweise rekursiv definieren, aber es geht auch iterativ, fällt mir nur gerade nicht ein.

Gibt es in Delphi eigentlich ein Äquivalent zu 'IEnumerable<T>' und etwas wie ein 'yield'?

...
Sind wirklich zwei gleich große Mengen mit identischen Summen gemeint? Das ist interessant. Hier könnt es tatsächlich relativ schnell mit Backtracking gehen. Muss mal nachdenken... Ist aber Freitag, da wird das nix mehr... :-)

Namenloser 9. Okt 2015 20:25

AW: Erkennen von Zahlenpaaren
 
Zitat:

Zitat von Dejan Vu (Beitrag 1318223)
Zitat:

Zitat von Namenloser (Beitrag 1318199)
Also ohne Backtracking wird es nicht gehen.

Delphi-Quellcode:
foreach (t in Teilmengen(MengeVonZahlen)) do
  if DieAndereMenge.Enthaelt(t.Summe) then
    Writeln(t.ToString);
Schon mal nicht 'Backtracking'. Bleibt noch 'Teilmengen' bzw. die dort enthaltene Funktion 'NächsteTeilmenge'. Die wird man eleganterweise rekursiv definieren, aber es geht auch iterativ, fällt mir nur gerade nicht ein.

Weiß nicht ganz, was du mir damit sagen willst. Falls du nur meinst, dass es auch andere Lösungen als Backtracking gibt: Weiß ich, meine verwendet auch kein Backtracking. Aber von Neutral Generals Ansatz (der ja nicht ganz funktioniert) ausgehend wäre Backtracking der nächste logische Schritt.

Dejan Vu 9. Okt 2015 20:50

AW: Erkennen von Zahlenpaaren
 
Öh... Ich? Äh..


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:32 Uhr.
Seite 3 von 3     123   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz