单向环形链表
- Josephu(约瑟夫、约瑟夫环)问题为
设编号为1,2,3,……n的n个人围坐一圈,约定编号为k(1<=k<=n)的人从1开始报数,数到m的那个人出列,它的下一位又从1开始报数,数到m的那个人又出列,依次类推,直到所有人出列为止,由此产生一个出队编号的序列。
- 提示
用一个不带头节点的环形链表来处理 Josephu 问题:先构成一个有n个节点的单循环链表,然后由k节点起从1开始计数,记到m时,对应节点从链表中删除,然后再从被删除节点又从1开始计数,直到最后一个节点从链表中删除算法结束。
代码实现
1 | package com.data.structure; |
参考
- 本文作者: 半度微凉
- 本文链接: http://www.taoweidong.com/2020/04/07/Java数据结构和算法-单向环形链表/
- 版权声明: 本博客所有文章除特别声明外,均采用 Apache License 2.0 许可协议。转载请注明出处!