Ho bisogno di sviluppare un algoritmo per trovare tutti i massimi locali in una matrice bidimensionale : come cercare i massimi locali nel modo più efficiente? Esistono algoritmi a riguardo?
Inoltre, l'algoritmo dovrebbe essere in grado di gestire anche i picchi "piatti", cioè dovrebbe trovare le coordinate centrali di ciascun picco. Ecco un esempio con un array unidimensionale: alcuni elementi consecutivi hanno lo stesso valore di picco, quindi l'algoritmo dovrebbe restituire la posizione centrale.
| flat peak |
|-----------------------|
array = [... 0.8 0.9 1.0 1.0 1.0 1.0 1.0 0.9 0.8 ...]
|
desired result
Come gestire il problema dei picchi piani in un array bidimensionale? Nei picchi piatti, gli elementi vicini sono uguali tra loro e formano un unico massimo locale, quindi mi piacerebbe ottenere le coordinate centrali di questo quartiere.