2015-10-10 20 views
6

Voglio sapere che come posso migliorare la mia comprensione degli algoritmi? Voglio dire, se viene spiegato qualche algoritmo, allora sono in grado di capirlo. Ma quando leggo lo pseudocodice dello stesso algoritmo, non capisco. Come ho letto su Shell sort, capisco anche il processo e il funzionamento di questa tecnica, ma quando leggo è pseudocodice, non capisco perché ogni passo specifico viene preso? Questo succede anche con altri algoritmi. C'è qualche problema con il livello della mia intelligenza, o si tratta di un problema frequente? Per favore aiuto.Non riesco a capire Pseudocode

+0

Potrebbe essere che il tuo approccio alla risoluzione di tale algoritmo sia diverso. O se sei nuovo alla programmazione, lo pseudocodice espone i passi da fare per tentare di risolvere l'algoritmo, quindi non avrà molto senso se non sai molto sulla programmazione –

+0

Tutto si riduce alla pratica .. Dovresti iniziare a capire riga per riga, quindi provare a capire l'intero codice. Ma è più o meno come ogni altra abilità, più pratichi, più lo sforzo ti metti dentro e meglio ottieni. – GabrielOshiro

+0

Prova a scrivere un algoritmo utilizzando le costruzioni di tua scelta. Potrebbe aiutarti a capire i problemi che lo pseudocodice intende risolvere. – Microfed

risposta

4

Ho studiato molto su algoritmi e strutture dati e ho scoperto che leggere pseudocodice è uno dei modi più difficili per imparare come funziona un algoritmo o una struttura dati. Nella mia esperienza, il modo migliore per capire un algoritmo è quello di ottenere l'intuizione di alto livello dietro di esso. Qual è l'intuizione chiave che guida l'algoritmo? Ad alto livello, cosa sta cercando di fare? Una volta che lo sai, avrai un molto tempo più semplice per capire l'algoritmo.

Come un buon esempio di questo, prova a cercare pseudocodice per l'algoritmo di Dijkstra o un albero rosso/nero. Anche il miglior pseudocodice è estremamente difficile da capire perché lo pseudocodice non distingue l'idea chiave dietro l'algoritmo, le ottimizzazioni specifiche progettate per migliorare le prestazioni e la ginnastica puntatore a dadi e bulloni. Tuttavia, se comprendi da dove provengono quegli algoritmi, per Dijkstra, l'idea è di mantenere un insieme di punti che crescono lentamente e di conoscere la distanza; per un albero rosso/nero, stai codificando un albero 2-3-4 come un albero binario, quindi è molto più facile leggere lo pseudocodice perché sai a cosa corrisponde ogni parte di ciò che stai leggendo.

Quindi non disperare - leggere lo pseudocodice è difficile! La mia raccomandazione è di trovare una buona spiegazione che ti guidi attraverso ciò che stai leggendo. Avrai un tempo significativamente più facile se lo fai.

Buona fortuna!

1

Il motivo per cui non si può comprendere bene lo pseudocodice è perché si vuole leggerlo come codice, quando in realtà ciò che si dovrebbe fare è leggerlo in testo semplice e cercare di capirlo come se si stesse avendo una conversazione con una persona.

Immagina di leggere il retro di un libro. Leggerai un sommario del libro e otterrai informazioni dettagliate sul suo contenuto, ma non ti dirà la vera storia.

Stessa cosa con lo pseudo-codice; ti darà un'idea di cosa dovrebbe fare un algoritmo, ma in realtà non ti mostrerà quale sia il codice sorgente.

Quando ho capito questo, lo pseudocodice improvvisamente è diventato molto più facile e ho anche trovato facile leggere il codice da altre lingue e capire altre lingue, il che mi ha permesso di scrivere codice nella mia lingua madre usando il codice da a esempio Java, che faccio schifo e probabilmente lo succhiarò sempre.

Problemi correlati