Non è necessariamente la definizione "sbagliata", ma non è molto utile. Termini come generali e specifici (e categoria) sono classificazioni relative. Quindi, gettarli in una definizione senza contesto o ulteriore qualifica non ci dice molto.
Una definizione migliore sarebbe semplicemente: Una serie di passaggi per risolvere un problema.
Da lì, se una serie di passaggi risolve un problema, è un algoritmo. Se capisci che il problema è un problema generale, allora è un algoritmo generale. Se lo vedi come un problema specifico, è un algoritmo specifico.
Se mettiamo il tuo esempio nello spettro passando da piuttosto specifico a piuttosto generale , potrebbe sembrare qualcosa come questo:
-- MORE SPECIFIC --
> Classify the number '1' as *Even* or *Odd*
> Classify a number 'N' as *Even* or *Odd*
> Classify a number 'N'
> Classify something 'O'
-- MORE GENERAL --
Potresti trovare diverse generalizzazioni, si spera migliori.
È certamente possibile creare un algoritmo per risolvere uno di questi problemi. E puoi probabilmente chiamare uno qualsiasi dei problemi generali o specifici per soddisfare le tue esigenze. Ma, probabilmente, l'autore intende dire, se l'algoritmo non risolve il problema in generale come viene presentato, non è un algoritmo significativo.