
杂七杂八—约瑟夫环
Ezereal
这个作者很懒,什么都没留下…
展开
-
约瑟夫环数学递推公式及其证明
对于约瑟夫问题,今天看到了一篇好帖子,是用数学方法处理的,感觉还不错的无论是用链表实现还是用数组实现都有一个共同点:要模拟整个游戏过程,不仅程序写起来比较烦,而且时间复杂度高达O(nm),当n,m非常大(例如上百万,上千万)的时候,几乎是没有办法在短时间内出结果的。为了讨论方便,先把问题稍微改变一下,并不影响原意:问题描述:n个人(编号0~(n-1)),从0开始报数,报到(m-1)的转载 2016-09-24 22:41:42 · 1816 阅读 · 0 评论 -
约瑟夫环问题
一般约瑟夫环问题:N个人坐成一个圆环(编号为1 - N),从第1个人开始报数,数到K的人出列,后面的人重新从1开始报数。问最后剩下的人的编号。例如:N = 3,K = 2。2号先出列,然后是1号,最后剩下的是3号。实际上对于约瑟夫环问题,最常见的有2种解法。第一种就是直接暴力模拟链表,当然这种做法的时间复杂度很高,而且实现起来还很麻烦。第二种方法就是利用转载 2016-09-24 22:57:51 · 1186 阅读 · 0 评论