为了账号安全,请及时绑定邮箱和手机立即绑定

如何判断暴力排序算法何时排序

如何判断暴力排序算法何时排序

慕娘9325324 2022-06-09 10:49:18
我正在编写一个简单的搜索/蛮力排序算法,但我不确定如何在它排序后停止它。我知道算法是如何工作的,并且我已经为它编写了代码,我已经实现了一个 while(!sorted) 循环,但这似乎并没有奏效。我怎么知道何时停止调用算法本身,即何时排序。我知道对于冒泡排序之类的东西,它是大 O 表示法,所以你循环 n 平方次,但是这个排序算法呢?这是我失败的尝试,我得到的错误是网页本身崩溃,console.logs 没有打印出任何负载,控制台中没有任何内容。var cols         = 100;windowWidth  = 800, windowHeight = 800,dataWidth     = windowWidth/cols,dataStructure = new Array(cols),colorCode    = [],sortedd = new Boolean;//function discovered on https://stackoverflow.com/questions/951021/what-is-the-javascript-version-of-sleepfunction sleep(ms) {   return new Promise(resolve => setTimeout(resolve, ms));}function setup(){   createCanvas(windowWidth, windowHeight);   for(var i = 0; i < dataStructure.length; i ++){       dataStructure[i] = random(800);       colorCode[i] = "blank";   }   while(!sorted(dataStructure)){    sorted(dataStructure);   }}function naiveSort(arr){    for(var i = 0; i < arr.length - 1; i ++){        colorCode[i] = "red";        var temp = Math.random() * (dataStructure.length);            swap(arr, i, temp);            colorCode[i] = "red";    }}function sorted(arr){    for(var i = 0; i < arr.length - 1; i ++){        if(arr[i] > arr[i + 1]){            return false;        }    }    return true;} function swap(arr, a, b){       var temp = arr[a];           arr[a] = arr[b];           arr[b] = temp;}忽略createCanvas,p5js库函数,不影响问题
查看完整描述

1 回答

?
萧十郎

TA贡献1815条经验 获得超13个赞

你的代码是


while(!sorted(dataStructure)){

    sorted(dataStructure);

   }

什么时候应该


while(!sorted(dataStructure)){

    naiveSort(dataStructure);

   }


查看完整回答
反对 回复 2022-06-09
  • 1 回答
  • 0 关注
  • 157 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信