Ricominciamo:
SE il tuo scopo e' studiare gli ‘algoritmi’, nascono nuove domande:
1) QUALI algoritmi?
Ne esistono a centinaia di migliaia. OGNI settore scientifico ha il suo insieme di algoritmi.
Ma supponiamo quelli di base: ricerca ed ordinamento.
2) PERCHE' cerchi un libro sul C++ e NON un libro sugli algoritmi?
Ed ora l'osservazione sconvolgente ;-)
SE il tuo scopo e' imparare a scivere algoritmi, il C++
NON E'
una gran scelta.
L'implementazione di un algoritmo puo' essere tutt'altro che banale, ma, cosa FONDAMENTALE, il 99.9 % degli algoritmi sono descritti sulla base di un linguaggio di programmazione PROCEDURALE
E' vero che il C++ e' ANCHE procedurale, MA il 75 % dei linguaggi programmazione supportano la programmazione PROCEDURALE.
Questo per dire che SE e' per interesse personale, il linguaggio Python e' una soluzione DECISAMENTE migliore.
Dal punto di vista della ‘potenza espressiva’ non perdi nulla: Python e' PROCEDURALE, AD OGGETTI ed un po' anche FUNZIONALE. Inoltre supporta la META PROGRAMMAZIONE ed un sacco di altre amenita' non supportate o supportate con molta difficolta dal C++
E NON HA tutte le rogne del C++ con l'allocazione della memoria, i template, le STL , i casini con le librerie che funzionabo in linux ma non in windows, ecc…
ATTENTO a non confondere l'efficenza di un algoritmo con il fatto di essere scritto con un linguaggio di programmazione non particolarmente ‘performante’. La bonta' di un algoriitmo NON DIPENDE DAL LINGUAGGIO DI PROGRAMMAZIONE, e solo parzialmente dalle capacitta' di programmazione di chi lo implementa ;-)
(questa e' una cosa che il ragazzetto alle prime armi che si crede guru della programmazione NON CAPISCE ;-) )