|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Nov 2010
Messaggi: 149
|
[C/C++] Miglior linguaggio per imparare algoritmi e strutture dati?
Ciao a tutti, spero che la mia richiesta sia attinente alla sezione.. in caso contrario, chiedo scusa fin da ora. Il mio problema sta nel fatto che dovrei imparare, dato che studio ing. informatica, strutture dati e algoritmi di base in C, ma non son riuscito a trovare un libro chiaro e completo in merito, probabilmente perchè col tempo si preferisce affrontare l'argomento in altri linguaggi, come C++. Per questo motivo avevo pensato di imparare i costrutti principali del C++ e seguire un testo più completo e chiaro su questa materia in C++, per poi implementare i programmi in C. Secondo voi può trattarsi di una mossa saggia? C'è molto lavoro da fare? Aggiungo che avevo optato per lo studio in pseudocodice da "Introduzione agli algoritmi" di Cormen, ma il testo è fin troppo rigoroso dal punto di vista matematico e soprattutto non mi aiuta, ovviamente, a capire quando allocare e deallcare memoria ad esempio, dato che il codice non fa riferimento ad alcun reale codice di programmazione.
|
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Nov 2010
Città: Genova
Messaggi: 186
|
Ciao!
Secondo me, quando si tratta di imparare a utilizzare e trattare algoritmi e strutture dati, bisognerebbe utilizzare il linguaggio di programmazione con cui ci si trova meglio: i concetti sono fondamentalmente gli stessi: alla fine, si può sintetizzare tutto con dello pseudo codice. Come libri, ti posso consigliare i libri di testo del corso di Progettazione e Analisi di Algoritmi che ho seguito lo scorso semestre (Ingegneria Informatica, come te):
In ogni caso, secondo me, l'importante è assimilare i concetti e non "attaccarsi" troppo ad un solo linguaggio di programmazione. Il bello della programmazione è che nella stragrande maggioranza di linguaggi che incontrerai tutto quello che hai imparato, di algoritmi et similia, sarà sempre valido e ti dovrai unicamente adattare alla sintassi e ad alcune pratiche del linguaggio particolare.
__________________
Santech N87 : i7 4710MQ 2.50 GHz - nVidia Geforce GTX 980M - RAM 8 GB 1600 MHz CL11 - SAMSUNG 850 EVO SSD 120 GB - HDD 1 TB 7200RPM - WLAN Dual Band Intel AC 7260 - SteamID |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Nov 2010
Messaggi: 149
|
Ringrazio entrambi per le risponde, ma il mio problema consiste proprio nel fatto che non son riuscito a trovare una fonte che sia chiara e completa sulle implementazioni di algoritmi e strutture dati in C, e per questo contavo di passare al C++, anche per imparare un nuovo linguaggio. Il cormen è ottimo per le spiegazioni, ma la pecca sta nel fatto che devo adattare lo pseudocodice in più punti per far sì che funzioni in linguaggio C. Avevo inoltre acquistato il libro di sedgewick, che purtroppo si è rivelato, almeno nella versione italiana, confusionario, prolisso e così via. La domanda quindi sarebbe: conviene riprendere da 0 il cormen, e adattare ogni algoritmo al linguaggio C, o optare per un linguaggio per il quale esistono libri su algoritmi e strutture dati molto più completi e chiari(come quello di Goodrich e Tamassia)?
Ultima modifica di FatalIllusion : 08-02-2015 alle 20:17. |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Jan 2012
Messaggi: 1267
|
Quote:
Es: alcuni algoritmi di sorting implementati in C++. A suo tempo avevo studiato proprio con il Cormen. |
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: May 2001
Messaggi: 12966
|
Se il suo obiettivo (e quello del corso che sta seguendo) è imparare algoritmi e strutture dati implementandoli in C, non ha senso farlo in C++, tantomeno usando strutture dati già pronte.
Per capire come farlo in C, lo devi fare in C, seguendo lo pseudocodice e possibilmente evitando di legarti a doppio filo con il paradigma ad oggetti che in questa fase potrebbe confonderti le idee. Fermo restando che algoritmi e strutture dati vivono indipendentemente dal linguaggio e che poi in pratica si usano implementazioni già fatte (salvo casi rari). Ultima modifica di WarDuck : 08-02-2015 alle 21:09. |
|
|
|
|
|
#6 |
|
Member
Iscritto dal: Nov 2010
Messaggi: 149
|
Grazie a tutti!
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Apr 2010
Città: Leuven
Messaggi: 667
|
http://www.apress.com/9781484200568
Questo è un bel libro, io ho letto la prima edizione a pezzetti. Spiega in modo molto chiaro e python si presta ottimamente allo scopo.
__________________
L'elettronica digitale non esiste, è solo elettrotecnica con interruttori piccoli!
|
|
|
|
|
|
#8 | |
|
Member
Iscritto dal: Nov 2010
Messaggi: 149
|
Quote:
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:31.




















