数学建模社区-数学中国

标题: 排序消耗的时间比价 [打印本页]

作者: 森之张卫东    时间: 2015-9-20 16:01
标题: 排序消耗的时间比价
5.20
   生日问题
   生日问题:如果在一个房间有n个人,那么有二个或多个人在同一天过生日的概率为多大?我们可以能过数学建模来解决这一问题。
   编写一个程序,计算在n个人中有二个或多个人在同一天过生日的概率,n为输入参数。编写一个程序来检测这个函数,当n=2,3,……,40时,二个或多个人在同一天过生日的概率为多大?


5.21
   用函数random0产生三个由随机数组的数组。
   三个数组分别包含100,1000,2000个元素。
   下一步,用函数tic和toc对三个数组用函数ssort进行排序计时。随着元素数目的增加,排序消耗的时间如何变化?
  1. <div>function aa = ssort(a)  </div><div>%this is a program about how to sort number  </div><div>disp('Before sorting:');  </div><div>fprintf('\n');  </div><div>for i = 1:size(a,2)  </div><div>        fprintf('%d\t',a(i));  </div><div>end  </div><div>for i = 1:size(a,2)-1  </div><div>    for j=i:size(a,2)  </div><div>       if a(i)>a(j)  </div><div>            temp = a(i);  </div><div>            a(i) = a(j);  </div><div>           a(j) = temp;  </div><div>        end  </div><div>    end  </div><div>end  </div><div>aa = a;  </div>
复制代码


作者: 森之张卫东    时间: 2015-9-20 16:02
  1. function aa = ssort(a)  
  2. 02.%this is a program about how to sort number  
  3. 03.disp('Before sorting:');  
  4. 04.fprintf('\n');  
  5. 05.for i = 1:size(a,2)  
  6. 06.        fprintf('%d\t',a(i));  
  7. 07.end  
  8. 08.for i = 1:size(a,2)-1  
  9. 09.    for j=i:size(a,2)  
  10. 10.        if a(i)>a(j)  
  11. 11.            temp = a(i);  
  12. 12.            a(i) = a(j);  
  13. 13.            a(j) = temp;  
  14. 14.        end  
  15. 15.    end  
  16. 16.end  
  17. 17.aa = a;  
复制代码






欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5