《数据结构》“约瑟夫问题”解法征集

一、约瑟夫问题

  假设n个依次顺序编号1,2,…,n的竞赛者排成一个环形队列。每人均持有一个密码m,从第1个人开始,从1开始循环计数,每数到第m时,则让让其出队列。然后从下一个人开始重新从1开始计数,继续进行下去。这个过程一直进行到所有的人都出队列为止。最后出列者为优胜者。请输出给定条件下出队列的顺序。

二、题目要求

    请结合第二章节:线性表相关内容,分析问题性质和操作方法,并完成代码编写。具体请完成如下内容:

    1.分析问题,问题实质可以理解为何种数据结构问题(逻辑结构问题)。

    2.根据分析,写出问题的ADT定义。

 3.确定数据的存储方法,并定义相关数据类型。

 4.描述实现的操作算法。

 5.写出完整代码,运行调试输出结果。

    必要时加上适当的图示。

三、计分说明

     1、本题是一个附加题,是选作部分,不要求全班同学均做。其一,是团队合作完成;其二,每一个小组根据自己组情况做。结果在自己博客中发布,在本文后评论中提醒老师。

     2、将会选择较好组同学上讲台分享讲述,并收集转贴作业到本博文后。

     3、本题解决方法较多,每组选择确定自己使用的方法,原则上有一种方法就行。

     4、计分10分。

四、完成时间

    在国庆放假长假后第一次课前完成。

相关文章

【啊哈!算法】算法3:最常用的排序——快速排序       ...
匿名组 这里可能用到几个不同的分组构造。通过括号内围绕的正...
选择排序:从数组的起始位置处开始,把第一个元素与数组中其...
public struct Pqitem { public int priority; ...
在编写正则表达式的时候,经常会向要向正则表达式添加数量型...
来自:http://blog.csdn.net/morewindows/article/details/6...