Desidero implementare l'algoritmo di somma del prefisso parallelo utilizzando C++. Il mio programma dovrebbe prendere l'array di input x[1....N]
e dovrebbe visualizzare l'output nell'array y[N]
. (Nota il valore massimo di N è 1000.)Somma prefisso parallelo - implementazione rapida
Finora ho analizzato molti documenti di ricerca e persino l'algoritmo di Wikipedia. Ma il mio programma dovrebbe anche visualizzare l'output, i passaggi e anche le operazioni/istruzioni di ogni passaggio.
Voglio l'implementazione più veloce come voglio ridurre al minimo il numero di operazioni così come i passaggi.
Ad esempio ::
x = {1, 2, 3, 4, 5, 6, 7, 8 } - Input
y = (1, 3, 6, 10, 15, 21, 28, 36) - Output
Ma insieme con la visualizzazione della matrice y come uscita, il mio programma dovrebbe contenere anche le operazioni di ogni passo. Mi riferisco anche a questo thread calculate prefix sum, ma potrebbe ottenere molto aiuto da esso.
Qual è il tuo problema specifico? Sembra che un algoritmo molto semplice sia sufficiente. –
@ Niklas B :: In realtà voglio che il mio programma utilizzi i passi minimi e le operazioni minime. Se N è 1000, il mio programma dovrebbe usare passi minori di 20 e operazioni inferiori a 2100. –
Prova a scriverne uno tu stesso! Basta riassumere i numeri in un ciclo. –