Cos’è l’algoritmo per windows scorrevoli? Esempi?

Durante la risoluzione di un problema di geometria, mi sono imbattuto in un approccio chiamato Algoritmo della finestra scorrevole.

Non è ansible trovare alcun materiale di studio / dettagli su di esso.

Di cosa tratta l’algoritmo?

In generale una finestra scorrevole è un sottoelenco che viene eseguito su una raccolta sottostante. Cioè, se hai un array come

[abcdefgh] 

una finestra scorrevole di dimensioni 3 ci passerebbe sopra come

 [abc] [bcd] [cde] [def] [efg] [fgh] 

Questo è utile se ad esempio vuoi calcolare una media corrente o se vuoi creare un insieme di tutte le coppie adiacenti ecc.

Questo è il codice del protocollo della finestra scorrevole per una matrice di dimensione n, dove sum di k numeri è memorizzata insieme in un’altra sum di array. Il seguente codice è in Java.

 import java.io.*; class deva { public static void main(String args[])throws IOException { BufferedReader in=new BufferedReader(new InputStreamReader(System.in)); int n=Integer.parseInt(in.readLine()); int[] a = new int[n]; for(int i=0;i