插入排序基本操作计数

时间:2018-11-17 17:30:28

标签: java insertion-sort

我有一个作业,使用算法的经验分析在插入和合并排序之间进行比较,并且我使用基本操作计数来测量效率。 我的问题:对于相同的输入大小,每次操作计数都相同是正常的吗? (知道我正在生成随机值,因此每次运行的值都不同)

这是我的方法(在Java中):

#include <iostream>
using namespace std;

int main(void){
  int number = 0;
  cout << "Please enter a number: ";
  cin >> number ;
  cout << "the number you enter is " << number << endl;

  return 0;}

基本操作是比较“ randomArray [j]>键”

1 个答案:

答案 0 :(得分:2)

我认为您应该只在此代码内增加计数器

while (j >= 0 && randomArray[j] > key) {
        increaseCounter();
        randomArray[j + 1] = randomArray[j];
        j--;
    }

我们计算您需要计算的效率,即计算程序在完成之前执行的步骤的数量,之前的代码仅计算在for代码中循环的次数,而不计算在while循环中执行的次数,而仅计算一次计算数组的数量