Ben resmi sözde kod büyük miktarlarda yazmak için çok ihtiyaç vardı hiç ama ihtiyaç ortaya çıkmıştır, bu yüzden kod tutarlı kalmak için bazı standartlar almak düşündüm.
Bunun olabilmesi için diğer şeyler arasında, bazı iTunes U ders videoları kaldırdı 6.046J / Algoritmalar için 18.410J Giriş (SMA 5503) .
İlk ders videoda, öğretim üyesi tahtaya Ekleme Sıralama yazmaktadır ve ayrıca bu yazıyor:
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
Yani, sorularım:
- Neden
i ← j-1ne zamanA[i+1] = key? Bu nedenledir ki,←bazı durumlarda ve=başka? Yukarıdaki kodda, unutmayın←, internet üzerinde mevcut çok ikincisi için kullanılır, ancak bildiri içinde olduğu=kullanılırsa, bu bir yazım hatası basitçe? (Öyle varsayalım) - Daha da önemlisi, neden
do key ← A[j]zamani ← j-1? Ya bu bir gerektirdiğini kadar özeldoböyle komutunu ve bir çentik?
Başka bir deyişle, neden (benim olayları ile) böyle yukarıda yazılı sahte kod değildir:
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
Son soru: Herkes bir var mı kod standardı sahte kod kullanışlı bir yere? Sadece bir kez alıcıları öğretmek zorunda böylece Benim ana hedefi, tutarlılık olduğunu.













