发表于: 2016-12-10 02:32:03

0 1579


今天完成的事:完成task2

明天计划的事:开始task3

遇到的问题:对sort函数存在一些问题,今天学习随机值,学习到了一种新的取随机的方法,

            这个方法发现很多人都在用,但是发现了一些问题。sort函数由于()内为空,所以元素将按照 ASCII 字符顺序进行升序排列。

            由于是升序排列。所以用到的算法是冒泡排序。

            问题就出在这里,冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两个数,将小数放在前面, 大数放在后面。因为sort函数会调出a,b两个值,a>b或a=b位置是不变的,只有a<b位置才会变动,由于我们读数值是6-18,不存在相等,所以只有大于和小于的现象。

                       下面举个例子:取五个数,31452。用我们之前提到的方法,相邻两数之间调换的概率是1/2,  1和3换的几率是1/2,1和4换的几率也是1/2,但是!第二组数字交换之前也要面临第一组数字到底有没有真的调换,所以第二组数字能够真正调换的几率是1/4。那么以此类推,到达最后一个5号数字的时候的概率为1/16。如果真的随机5个数字的概率都应该是1/5才对。

            所以这个方法是有问题的,并没有产生真正随机的效果,真正的随机应该怎么写,希望大家能群策群力,可以的话在评论里留下方法,共同探讨。谢谢!

收获:学习了sort函数 isNAN函数 parseInt函数等等。


链接在这!


返回列表 返回列表
评论

    分享到