美文网首页
一. 链表 8 Josephus

一. 链表 8 Josephus

作者: 何大炮 | 来源:发表于2018-04-08 11:13 被阅读0次

问题:N个人编号从1到N,围坐成一个圆圈,从s号开始报数,数到第M个人离开圈子,由坐在离开的人的后面的人继续报数,直到圈子只剩下最后一个人。例如:n=9, s =1, m =5,出局人顺序为:5, 1, 7, 4, 3, 6, 9, 2, 8

这题感觉用循环链表最好解决:

class man:
    num = 0
    next_one = None
    def __init__(self, order):
        self.num = order

def delete(parent, grandkid):
    kid = parent.next_one
    parent.next_one = grandkid
    return kid.num

def form_circle(scale):
    parent = man(1)
    head = parent
    for i in range(1, scale):
         next_one = man(i+1)
         parent.next_one = next_one
         parent = next_one
    parent.next_one = head
    return head

def josehus(start, position, amount):
    outcome_sequence = []
    # 第一人
    current = form_circle(amount)
    # 当前对象
    for i in range(1, start):
        current = current.next_one
    # 数数开始的地方
    current_position = start
   # 剩下的人的数量
    left = amount
    while left:
        if current_position == position-1:
            kid = current.next_one
            grand = kid.next_one
            outcome_sequence.append(delete(current, grand))
            current_position = 1
            left -=1
            current = grand
            continue
        current_position +=1
        current = current.next_one
    return outcome_sequence

相关文章

  • 一. 链表 8 Josephus

    问题:N个人编号从1到N,围坐成一个圆圈,从s号开始报数,数到第M个人离开圈子,由坐在离开的人的后面的人继续报数,...

  • 约瑟夫问题

    源文件josephus.c

  • josephus问题

    线性表是数据结构的中很常见的结构,其中一种就是顺序表,python已经内置了顺序表。list就是循序表的的实现。下...

  • 01.约瑟夫环

    约瑟夫环问题(Josephus Problem) 据说著名犹太历史学家Josephus有过以下的故事:在罗马人占领...

  • 小朋友学数据结构(1):约瑟夫环的三种解法

    约瑟夫环(Josephus)问题是由古罗马的史学家约瑟夫(Josephus)提出的,他参加并记录了公元66—70年...

  • 1.3.37 Josephus问题

    解法: 测试: 结果:

  • 约瑟夫环的C语言实现

    引子 据说著名犹太历史学家Josephus有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephus...

  • 约瑟夫环问题

    据说著名犹太历史学家 Josephus有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他...

  • 约瑟夫问题、魔术师发牌问题

    据说著名犹太历史学家 Josephus有过以下的故事:在罗马人占领乔塔帕特后,39个犹太人与Josephus及他的...

  • HashMap原理

    图解HashMap(一) 笔记: HashMap是由数组和链表组合构成的数据结构,Java8中链表长度超过8时会把...

网友评论

      本文标题:一. 链表 8 Josephus

      本文链接:https://www.haomeiwen.com/subject/rhsphftx.html