初始数据形式 算法统计参数 选择排序 插入排序 冒泡排序 100个1~100之间的随机数 比较次数 移动次数 100个单调增的整数 比较次数 移动次数 100个单调降的整数 比较次数 移动次数
时间: 2023-09-03 18:27:07 浏览: 45
### 回答1:
选择排序:
1. 100个1~100之间的随机数
- 比较次数:4950
- 移动次数:4950
2. 100个单调增的整数
- 比较次数:4950
- 移动次数:0
3. 100个单调降的整数
- 比较次数:4950
- 移动次数:4950
插入排序:
1. 100个1~100之间的随机数
- 比较次数:4950
- 移动次数:4950
2. 100个单调增的整数
- 比较次数:99
- 移动次数:0
3. 100个单调降的整数
- 比较次数:4950
- 移动次数:9900
冒泡排序:
1. 100个1~100之间的随机数
- 比较次数:4950
- 移动次数:9900
2. 100个单调增的整数
- 比较次数:99
- 移动次数:0
3. 100个单调降的整数
- 比较次数:4950
- 移动次数:9900
### 回答2:
初始数据形式 算法统计参数 选择排序 插入排序 冒泡排序
100个1~100之间的随机数 比较次数:4950 移动次数:4950 比较次数:4950 移动次数:5050 比较次数:4950 移动次数:5050
100个单调增的整数 比较次数:4950 移动次数:0 比较次数:99 移动次数:99 比较次数:4950 移动次数:4950
100个单调降的整数 比较次数:4950 移动次数:4950 比较次数:4950 移动次数:5050 比较次数:4950 移动次数:5050
选择排序算法的比较次数在不同初始数据形式下保持一致,为初始数据总量 n*(n-1)/2,即100个数时为4950次。而移动次数则与具体数据的初始状态有关。当初始数据为随机数时,选择排序和冒泡排序的移动次数相等,为4950次;插入排序的移动次数略多一些,为5050次。当初始数据为单调增或单调降的整数时,选择排序的移动次数最少,为0次;插入排序的移动次数较少,为99次;冒泡排序的移动次数最多,为5050次。
总结起来,选择排序算法在比较次数上与初始数据形式无关,而移动次数则在随机数据下与冒泡排序相等,在单调增或单调降数据下最优。插入排序算法的移动次数在随机数据下较多,在单调增数据下较少,而冒泡排序算法的移动次数则在任何数据形式下都较多。
### 回答3:
选择排序:
对于初始数据形式为100个1~100之间的随机数,选择排序需要进行n-1次比较和n次交换(移动)。对于100个数的情况,比较次数为99次,移动次数为100次。
对于初始数据形式为100个单调增的整数,选择排序需要进行n(n-1)/2次比较和0次交换(移动)。对于100个数的情况,比较次数为4950次,移动次数为0次。
对于初始数据形式为100个单调降的整数,选择排序需要进行n(n-1)/2次比较和n次交换(移动)。对于100个数的情况,比较次数为4950次,移动次数为100次。
插入排序:
对于初始数据形式为100个1~100之间的随机数,插入排序需要进行平均n^2/4次比较和平均n^2/4次移动。对于100个数的情况,比较次数为2500次,移动次数也为2500次。
对于初始数据形式为100个单调增的整数,插入排序需要进行n-1次比较和0次移动。对于100个数的情况,比较次数为99次,移动次数为0次。
对于初始数据形式为100个单调降的整数,插入排序需要进行n^2/2次比较和n^2/2次移动。对于100个数的情况,比较次数为5000次,移动次数也为5000次。
冒泡排序:
对于初始数据形式为100个1~100之间的随机数,冒泡排序需要进行平均n^2/2次比较和平均n^2/2次移动。对于100个数的情况,比较次数为5000次,移动次数也为5000次。
对于初始数据形式为100个单调增的整数,冒泡排序需要进行n-1次比较和0次移动。对于100个数的情况,比较次数为99次,移动次数为0次。
对于初始数据形式为100个单调降的整数,冒泡排序需要进行n^2/2次比较和n^2/2次移动。对于100个数的情况,比较次数为5000次,移动次数也为5000次。