package com.chenyu.zuo.linkedList;import com.chenyu.zuo.linkedList.RemoveMidNode.Node;
/*** 环形单链表的约瑟夫问题* 比如5个人,报数第3个就删除,从第一个人开始报数* 1、2、3、4、5* 1、2、4、5* 2、4、5* 2、4* 4* 最后4留下来了* 输入:一个单向环形链表的头节点head和报数的值m* 返回:最后生存下来的节点,且这个节点自己组成环形单向链表,其他节点都删掉* * 思路:* 1、先把不满足条件的时候返回头节点* 2、得到我们链表的最后一个节点,然后遍历每个节点,不断转圈,不断让每个节点报数。* 3、当报数到达m时,就删除当前报数的节点* 4、删除节点后,别忘了还要把剩下的节点继续连接成环状,继续转圈报数,继续删除。* 5、不停的删除,直到环形链表中只剩下一个节点,过程结束* 只不过我们的时间复杂度是(n*m),下一篇博客进阶时间复杂度O(N)*/
public class GosephusKill {static class Node{int val;Node next;public Node(int  val){this.val=val;}}public Node kill1(Node head,int m){if(head==null || head.next==head || m<0){return head;}Node last=head;while(last.next!=head){  /

链表之单链表约瑟夫问题(一)相关推荐

  1. 【数据结构与算法】 01 链表 (单链表、双向链表、循环链表、块状链表、头结点、链表反转与排序、约瑟夫环问题)

    一.线性表 1.1 概念与特点 1.2 线性表的存储结构 1.3 常见操作 1.4 应用场景 二.链表 2.1 链表简介 2.2 单向链表(单链表) 2.21 基本概念 2.22 单链表基本操作 2. ...

  2. php链表和联表的区别,PHP_浅谈PHP链表数据结构(单链表),链表:是一个有序的列表,但 - phpStudy...

    浅谈PHP链表数据结构(单链表) 链表:是一个有序的列表,但是它在内存中是分散存储的,使用链表可以解决类似约瑟夫问题,排序问题,搜索问题,广义表 单向链表,双向链表,环形链表 PHP的底层是C,当一个 ...

  3. php mysql 链表_浅谈PHP链表数据结构(单链表)

    链表:是一个有序的列表,但是它在内存中是分散存储的,使用链表可以解决类似约瑟夫问题,排序问题,搜索问题,广义表 单向链表,双向链表,环形链表 PHP的底层是C,当一个程序运行时,内存分成五个区(堆区, ...

  4. python之链表、单链表、双向链表、单向循环链表

    python之链表.单链表.双向链表.单向循环链表 链表 顺序表的构建需要预先知道数据大小来申请连续的存储空间,而在进行扩充时,又需要进行数据的搬迁,所以使用起来并非很灵活 链表结构可以充分利用计算机 ...

  5. 数据结构5: 链表(单链表)的基本操作及C语言实现

    逻辑结构上一个挨一个的数据,在实际存储时,并没有像顺序表那样也相互紧挨着.恰恰相反,数据随机分布在内存中的各个位置,这种存储结构称为线性表的链式存储. 由于分散存储,为了能够体现出数据元素之间的逻辑关 ...

  6. 单链表删除所有值为x的元素_C/C++编程笔记:如何使用C++实现单链表?单链表的基本定义...

    如何弥补顺序表的不足之处? 第一次学习线性表一定会马上接触到一种叫做顺序表(顺序存储结构),经过上一篇的分析顺序表的优缺点是很显然的,它虽然能够很快的访问读取元素,但是在解决如插入和删除等操作的时候, ...

  7. python单链表实现具体例子_Python实现数据结构线性链表(单链表)算法示例

    本文实例讲述了Python实现数据结构线性链表(单链表)算法.分享给大家供大家参考,具体如下: 初学python,拿数据结构中的线性链表存储结构练练手,理论比较简单,直接上代码. #!/usr/bin ...

  8. c语言数组指定位置插入和删除_玩转C语言链表,单链表/双向链表的建立/遍历/插入/删除...

    最近临近期末的C语言课程设计比平时练习作业一下难了不止一个档次,第一次接触到了C语言的框架开发,了解了View(界面层).Service(业务逻辑层).Persistence(持久化层)的分离和耦合, ...

  9. 线性表:3.链表,单链表详解与C语言实现

    逻辑结构上一个挨一个的数据,在实际存储时,并没有像顺序表那样也相互紧挨着.恰恰相反,数据随机分布在内存中的各个位置,这种存储结构称为 线性表的链式存储 . 由于分散存储,为了能够体现出数据元素之间的逻 ...

  10. C语言丨线性表(二):线性链表(单链表)

    线性表是由数据类型相同的个数据元素组成的有限序列,通常记为: 其中n为表长,n=0时称为空表:下标i表示数据元素的位序. 线性表的特点是组成它的数据元素之间是一种线性关系,即数据元素"一个接 ...

最新文章

  1. ORA-4031错误深入解析
  2. ubuntu 更新系统时间
  3. jquery设置表单元素只读_jquery设置元素readonly与disabled属性
  4. python 必备模块和包_Python_异常和模块
  5. PlistBuddy简单使用
  6. Bzoj3998 弦论
  7. regsvr32.exe
  8. [ES6] 细化ES6之 -- 变量的解构赋值
  9. 软件测试中80/20原则
  10. js室内地图开发_支付宝小程序室内地图导航开发-支付宝小程序JS加载esmap地图...
  11. 什么样的人适合学web前端?
  12. Easy Data Transform for mac (Excel和CSV编程文件转换工具) v1.11.1激活版
  13. python报告水印怎么弄_如何用python操作word添加水印?这里有个问题,希望大家看一下!...
  14. ChatGLM-6B【完全转载】
  15. ubuntu18.04关闭笔记本触摸板
  16. Lm317电压源芯片制作电流源
  17. html js 禁用浏览器上下滑动,纯JS阻止浏览器默认滚动事件,实现自定义滚动方法...
  18. 快速入门ESP32的硬件设计原理以及典型应用案例UART串口转WIFI智能硬件,以及ESP32-Lyra(智能音频台)设计方案。
  19. lim[(n!)^(1/n)]/n的极限
  20. ubuntu平台下ffmpeg的编译安装方法

热门文章

  1. 从零实操基于WSL2 Docker部署Asp.Net Core项目
  2. c#:细说时区、DateTime和DateTimeOffset在国际化中的应用
  3. BeetleX.FastHttpApi之控制器调度设计
  4. [Stardust]星尘配置中心
  5. Asp Net Core 5 REST API 使用 RefreshToken 刷新 JWT - Step by Step(三)
  6. Mock 框架 Moq 的使用
  7. 好的重构方法才能摆脱“屎山”
  8. PHP大势已去,PHP宝藏可为我所用
  9. BitArray虽好,但请不要滥用,又一次线上内存暴增排查
  10. Zend创始人离职原来早已安排好