1.ソートの挿入によるアルゴリズムの明確性の理解


ソート・コードの挿入
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main()
{
	int i, j, k, N, temp;
	int array[1000];
	scanf("%d", &N);

	for (i = 0; i < N; i++)
	{
		scanf("%d", &array[i]);
	}

	for (i = 1; i < N; i++)
	{
		for (j = i - 1; j >= 0; j--)
		{
			if (array[i] >= array[j]) break;//array[j + 1]에 array[i]를 삽입, array[j + 1]부터 arrray[i - 1]은 모두 한칸씩 앞으로 이동
			//if에 한번도 안 걸리면 j는 -1로 반복문을 빠져나가게 된다. 그럼 똑같이 하면 된다.
		}

		temp = array[i];

		for (k = i - 1; k > j; k--)
		{
			array[k + 1] = array[k];
		}

		array[j + 1] = temp;
	}

	for (i = 0; i < N; i++)
	{
		printf("%d ", array[i]);
	}
	return 0;
}
これは.
1.最初は、1つのセルが定義上整列していました.-初期条件が成立する

  • 位置合わせされたN個のセルにもう一つ挿入すると、位置合わせ-維持条件が成立する

  • すべてのN個のセルを整列して終了-終了条件を作成
  • ->これは適切なアルゴリズムであることがわかります.
    ソート分析の挿入-最悪:

    二分のn乗n−1は1~(n−1)に等しい.
    上図では、子供たちがウォースター症例の時に赤くなったら、
    ただしc 5の場合は2~nの和であるため、二分のn乗(n+1)−1となる.