私は現在TCRC Introduction to Algorithms第3版の教科書の第2章を読んでおり、私はこのアルゴリズムのループ不変量の著者の解釈を読んでいます。私は初期化とメンテナンスの両方について著者の論理を理解しています。しかし、終結は、私がうんざりしているものです。著者は終了時に、j = n + 1と主張する。しかし、アルゴリズムの擬似コードでは、jは2からnまでループする。だから、j = n - 1ではないはずですか?挿入ソートアルゴリズムの不変の終了ループでj = n + 1となるのはなぜですか?
EDIT:挿入のための本の擬似コードソートされます。
for j = 2 to A.length
key = A[j]
// Insert A[j] into sorted sequence A[1...j - 1]
i = j - 1
while i > 0 and A[i] > key
A[i + 1] = A[i]
i = i - 1
A[i + 1] = key
EDIT:慎重にそれを読んだ後、私は終了時に、なぜJ = N + 1をようやく理解しています。これはforループが2からn(包括的に)になるためです。したがって、jがnを超えた後にループが終了し、終了時にj = n + 1となる理由です。私は助けに感謝します。
あなたは擬似コードを提供することはできますか? – BlackBear
問題のテキストを入力する必要があります。あなたが何を投稿したかを知る方法はありません。 – Prune
ようこそStackOverflowへ。ヘルプドキュメントの投稿ガイドラインを読み、それに従ってください。 [on topic](http://stackoverflow.com/help/on-topic)および[How to Ask](http://stackoverflow.com/help/how-to-ask)をここで適用してください。 – Prune