Javascript 大O型结构
有人能告诉我在我找到的代码中大O符号的位置吗 JavaScript:Javascript 大O型结构,javascript,big-o,Javascript,Big O,有人能告诉我在我找到的代码中大O符号的位置吗 JavaScript: function randomIntInc (low, high) { return Math.floor(Math.random() * (high - low + 1) + low); } function StoreArray(){ var numbers = new Array(100); for (var i = 0; i < numbers.length; i++) { numbe
function randomIntInc (low, high) {
return Math.floor(Math.random() * (high - low + 1) + low);
}
function StoreArray(){
var numbers = new Array(100);
for (var i = 0; i < numbers.length; i++) {
numbers[i] = randomIntInc(1, 100)
}
var element = document.getElementById('myTextField1').value;
var c=SearchArray(numbers,element);
var t= document.getElementById('myTextField2');
myTextField2.value=c;
}
function SearchArray(numbers, Element)
{
var count=0;
for (var i = 0; i < numbers.length; i++) {
count++;
if(numbers[i]==Element)
{
alert('Element found!!.');
return count;
}
}
alert('Element not found!!.');
return count;
}
big-O的复杂性取决于其中n是数字数组中的元素数
关于复杂性,意味着算法的规模与n成正比。当n变大时,函数将按比例花费更长的时间来执行
计算基于循环的简单算法复杂性的一种简单方法是计算比较次数:
for (var i = 0; i < numbers.length; i++) {
count++;
if(numbers[i]==Element)
...
比较数[i]==元素可能是循环中最昂贵的操作,在最坏的情况下,它将执行number.length次
在最好的情况下,元素将是数组中的第一项,因此比较将只执行一次,即O1。这是因为当找到匹配项时,返回语句终止循环
在最坏的情况下,元素将是数组中的最后一项,或者根本不存在,因此将执行n次比较。Err,您的意思是算法的big-O复杂性:On?查找用于加载数组的big-O。它是On,其中n是数字数组的长度。:-O谢谢大家,帮我清理一下,谢谢!真的很有帮助。
for (var i = 0; i < numbers.length; i++) {
count++;
if(numbers[i]==Element)
...