Δεν είχα ποτέ μεγάλη ανάγκη για τη συγγραφή μεγάλων ποσοτήτων επίσημη ψευδο-κώδικα, αλλά έχει προκύψει η ανάγκη, έτσι σκέφτηκα ότι θα πάρει κάποια πρότυπα, προκειμένου να παραμείνουν συνεπείς σε όλη κώδικα.
Για το σκοπό αυτό θα πάρει μερικές «iTunes U» βίντεο διδακτικό υλικό, μεταξύ άλλων, η 6.046J / 18.410J Εισαγωγή στους Αλγόριθμους (SMA 5503) .
Στην πρώτη διάλεξη βίντεο, ο καθηγητής γράφει εισαγωγής Ταξινόμηση στον πίνακα, και γράφει το εξής:
Insertion-Sort(A, N) // Sorts A[1..n]
for j ← 2 to n
do key ← A[j]
i ← j-1
while i > 0 and A[i] > key
do A[i+1] ← A[i]
i ← i-1
A[i+1] ← key
Έτσι, οι ερωτήσεις μου:
- Γιατί
i ← j-1ότανA[i+1] = key; Δηλαδή, γιατί←σε ορισμένες περιπτώσεις, και=σε ένα άλλο; Σημειώστε ότι στον παραπάνω κώδικα, η←χρησιμοποιείται για την τελευταία πάρα πολύ, αλλά στα φυλλάδια, διαθέσιμα στο διαδίκτυο,=χρησιμοποιείται, είναι αυτό απλώς ένα τυπογραφικό λάθος; (Υποθέτω έτσι) - Πιο σημαντικό, γιατί
do key ← A[j]ότανi ← j-1; Τι είναι τόσο ξεχωριστή ότι απαιτεί μιαdoεντολή όπως αυτό, και μια εσοχή;
Με άλλα λόγια, γιατί δεν είναι η παραπάνω ψευδο-κώδικα γραμμένο σαν αυτό (με ανταύγειες μου):
Insertion-Sort(A, N) // Sorts A[1..n]
for j ← 2 to n
key ← A[j] <-- lost the do here
i ← j-1 <-- no indentation
while i > 0 and A[i] > key
A[i+1] ← A[i] <-- lost the do here
i ← i-1 <-- no indentation
A[i+1] ← key
Τελευταία ερώτηση: Υπάρχει κάποιος που έχει ένα πρότυπο κώδικα για ψευδο-κώδικα πρακτικό κάπου; Ο κύριος στόχος μου είναι η συνοχή, έτσι ώστε να έχω μόνο να «διδάξει» τους παραλήπτες φορά.













