测量功能执行以进行运行时分析所需的时间

时间:2020-10-30 01:27:53

标签: javascript algorithm performance sorting time

所以我试图测量计算复杂度分析的时间(因此计算运行时间),但是我的代码无法运行,它一直显示错误。如果你们中的任何一个可以帮助我解决此错误,我将非常感谢您!这是我的代码:

class Shoe {
  constructor(name, price, type) {
    this.name = name;
    this.price = price;
    this.type = type;
  }
}

// to generate random LARGE list
function randomName(n) {
  let letters = "abcdefghijklmnopqrstuvwxyz";
  let name = "";

  for (let i = 0; i < n; i++) {
    name += letters[Math.floor(Math.random() * letters.length)];
  }

  return name;
}

function randomNumber(min, max) {
  return Math.floor(Math.random() * (max - min) + min);
}

var shoes = [];
for (let i = 0; i < 100; i++) {
  shoes.push(new Shoe(randomName(20), randomNumber(50, 5000), randomName(7)));
}

//bubblesort
function bubbleSort(shoes) {
  var swapped;
  do {
    swapped = false;
    for (var i = 0; i < shoes.length - 1; i++) {
    
      // converting prices to numbers
      if (+shoes[i].price > +shoes[i + 1].price) {
        var temp = shoes[i];
        shoes[i] = shoes[i + 1];
        shoes[i + 1] = temp;
        swapped = true;
      }
    }
  } while (swapped);
  return shoes;
}

bubbleSort(shoes);
console.log('Bubble Sort:\n', shoes);

const {performance} = require('perfHooks');
start = performance.now();
bubbleSort();
 end = performance.now();

1 个答案:

答案 0 :(得分:1)

因为v1.0built in Web API method,所以不需要perfHooks

我已根据上面的MDN链接中提供的示例调整了您的代码。

performance.now()

相关问题