- 博客(3)
- 收藏
- 关注
原创 珠排序详解java实现
总而言之这是一个仅在数字个数100以内,数字大小不超过10000时还可以一用的算法,不过如果你的电脑是某星文明的量子计算机,运算无限快,空间无限大,就算最大值是一个小目标应该也没有什么问题。可以看出珠排序的算法时间复杂度和空间复杂度不仅和排序数字的个数n有关,还和排序数字的最大值vmax大小有关,有文章认为其时间复杂度是O(n), 实际运行却慢的多,这是因为没有考虑排序不仅要移动珠子,创建珠子将珠子放到珠盘也需要时间,所以时间复杂度必然和vmax有关。
2024-07-12 14:44:14
511
原创 一种阶乘的新算法——猴子阶乘
原理:利用猴子排序随机次数的期望值等于排序数字个数的阶乘。其中的工具类RandomIntegerUtils请参考。(猴子排序详情请参考。下面是计算5的阶乘的。
2024-07-11 14:43:22
332
原创 猴子排序详解
可以看出十个数的排序仅仅用了2秒左右, 速度还是蛮快的,后面我改为十五个数测试一下,等了一会会会会会会儿, 下班时间到了, 结果还没有出来。为3628800次, 如果是15个数测最差排序尝试次数为1307674368000, 如果是50个数则为30414093201713378043612608166064768844377641568960512000000000000次,综上所述可知,猴子排序仅仅在10个数字以内排序有着相对较高的效率, 如果数字个数增加则排序时间呈阶乘方式飞速增长。
2024-07-09 16:35:46
685
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人