0 写在前面 josephus问题是数据结构教材中的一个常见实例,其问题可以描述为: 设nnn个人围坐一圈,现在要求从第kkk个人开始报数,报到第mmm个的人退出。然后从下一个人开始继续按照同样规则报数并退出,直到所有人退出为止。要求按照顺序输出每个人的序列号。 1 基于数组概念的解法 首先考虑基于python的list和固定大小的数组概念,即将list看作元素个数固定的对象,只改变值而不删除元素,相当于摆了一圈nnn把椅子,人虽然退出但是椅子还在,我们可以给每个人从111到nnn编号,没有人的位置用000表示,思路如下: 初始 建立包含nnn个人(编号)的list 找到第kkk个
2023-03-29 22:52:51 56KB ep python 方法
1
用链表法实现josephus,开发工具为C语言。
2022-03-25 02:31:41 1KB josephus,链表
1
用顺序链表,单链表,静态链表三种结构求解的约瑟夫josephus问题,完整的代码,可以直接编译,运行的,
2022-03-25 01:30:00 664KB 约瑟夫问题
1
Josephus问题: 设有n个人围坐在一个圆桌周围,现从第s个人开始报数,数到第m的人出列,然后从出列的下一个重新开始报数,数到第m的人又出列……如此反复,直到所有的人全部出列为止。Josephus问题是:对于任意给定的n,s和m,求出按出列次序得到的n个人员的序列。 现以n=8,s=1,m=4为例,问题的求解过程如图2.10所示。图中 指向开始报数位置,带圆圈的是本次应该出列的人员。若初始的顺序为n1,n2,n3,n4,n5,n6,n7,n8,则问题的解为n4,n8,n5,n2,n1,n3,n7,n6。
2022-03-16 22:40:48 26KB Josephus
1
(1)用抽象数据类型表设计一个求(n,m)Josephus排列的算法。 (2)试设计一个算法,对于给定的正整数n和1,2,…,n中的k个数。求正整数m,使 (n,m)Josephus排列的前k个数恰为事先指定的这k个数(顺序必须完全一样)。
2021-09-28 18:06:26 14KB (n m)Josephus排列
1
编程求Josephus问题:m个小孩围成一圈,从第一个小孩开始顺时针方向每数到第n个小孩时这个小孩就离开,最后剩下的一个小孩是胜利者。求第几个小孩是胜利者。
2021-07-10 14:04:58 18KB labview, josephus问题
1
设有n个人围坐一圈并由1到n编号,从某个人开始报数,数到m的人出列,接着从出列的下一个人开始重新1到n报数,数到m的人又出列,如此反复地报数和出列,直到最后一个人出列为止,设计确定这n个人出列序列的程序
2021-06-23 16:03:12 3KB c++
这个完全符合课本上习题的要求,我作业交的就是这个,我自己还在里面做了详细的注释
2021-04-15 21:42:51 5KB Josephus C++ 数据结构 单循环链表
1
labview的josephus问题编程
2021-04-09 21:17:04 13KB labview 源代码
1
约瑟夫环2、 约瑟夫(Josephus)环问题:编号为1,2,3,…,n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。一开始任选一个正整数作为报数的上限值m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止。报m的人出列,将他的密码作为新的m值,从他在顺时针方向上的下一人开始重新从1报数,如此下去,直到所有人全部出列为止。 建立n个人的单循环链表存储结构,运行结束后,输出依次出队的人的序号。
2019-12-21 21:35:56 2KB 约瑟夫环
1