많은 양의 공식적인 의사 코드를 작성할 필요가 없었지만 필요성이 제기되어 코드간에 일관성을 유지하기 위해 몇 가지 표준을 선택해야한다고 생각했습니다.일부 MIT 코스웨어의 의사 코드
그 결과로 나는 "iTunes U"코스웨어 비디오를 픽업했습니다. 다른 것들 중에서는 6.046J/18.410J Introduction to Algorithms (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
? 너무 특별해서 그와 같은 명령과 들여 쓰기가 필요합니다. 즉
, 왜 (내 하이라이트)과 같이 작성 위의 의사 코드되지 않습니다 :
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
마지막 질문 : 사람이 의사 코드에 대한 코드 표준이 있습니까 어딘가에 편리할까요? 나의 주요 목표는 일관성이다. 그래서 나는 한 번만 수령인을 "가르쳐야"한다.