DataStructure
lanximu
这个作者很懒,什么都没留下…
展开
-
josephus Problem 初级(使用数组)
问题描述: 这是一个很经典的问题,一桌人一起吃饭,比如有6个人,第一个人从1开始报数,后面的人报的数依次递增,当报出的数为某一个数时,报数的那个人出局,游戏继续。出局的那个人后面的还没有出局的人继续从1开始报数,直到所有的人出局为止。得出出局顺序。 比如有6个人,分别为1,2,3,4,5,6 。报数到3的人出局,则出局顺序应该是:3,6, 4, 2, 5, 1 解决方案: 可以采取对数组置原创 2014-09-13 22:57:32 · 1033 阅读 · 0 评论 -
josephus Problem 中级(使用数组模拟链表,提升效率)
问题描述: 在《josephus Problem 初级(使用数组)》中,我们提出了一种最简单直接的解决方案。 但是,仔细审视代码之后,发现此种方案的效率并不高,具体体现在,当有人出局时,遍历数组仍需要对其进行判断, 这无疑做了无用功,降低了代码效率,在人数多时尤其明显。 解决方案: 当有人出局时,考虑将当前出局的人的前一个人(未出局)的下一个人置为当前出局的下一个人(未出局)。这样,便确原创 2014-10-26 17:37:20 · 1152 阅读 · 0 评论