webentwicklung-frage-antwort-db.com.de

Was ist der Schiebefenster-Algorithmus? Beispiele?

Bei der Lösung eines Geometrieproblems stieß ich auf einen Ansatz namens Schiebefenster-Algorithmus.

Konnte kein Lernmaterial/Details dazu finden.

Worum geht es in dem Algorithmus?

43
Silvester

Im Allgemeinen ist ein Schiebefenster eine Unterliste, die über eine zugrunde liegende Sammlung läuft. Das heißt, wenn Sie ein Array wie haben

[a b c d e f g h]

ein Schiebefenster der Größe 3 würde es gerne überfahren

[a b c]
  [b c d]
    [c d e]
      [d e f]
        [e f g]
          [f g h]

Dies ist nützlich, wenn Sie beispielsweise einen laufenden Durchschnitt berechnen oder eine Menge aller benachbarten Paare usw. erstellen möchten.

104
aioobe

Das Schiebefenster ist eine Technik zur Problemlösung, bei der Arrays/Listen verwendet werden. Diese Probleme lassen sich mit einem Brute-Force-Ansatz in O (n ^ 2) oder O (n ^ 3) leicht lösen. Mit der 'Schiebefenster'-Technik können wir die Zeitkomplexität auf O (n) reduzieren.

Ein großartiger Artikel dazu ist hier: https://medium.com/outco/how-to-solve-sliding-window-problems-28d67601a66

1
Mahes