当前位置: 首页 > wzjs >正文

做旅游网站的设计感想网站统计系统 怎么做

做旅游网站的设计感想,网站统计系统 怎么做,wordpress retina,学院网站模板在链表中寻找循环点可以使用双指针法,也就是著名的弗洛伊德判圈算法(Floyds Cycle-Finding Algorithm)。此算法运用两个指针,一个快指针和一个慢指针,借助它们移动速度的差异来判断链表是否存在循环,若存在…

在链表中寻找循环点可以使用双指针法,也就是著名的弗洛伊德判圈算法(Floyd's Cycle-Finding Algorithm)。此算法运用两个指针,一个快指针和一个慢指针,借助它们移动速度的差异来判断链表是否存在循环,若存在则找出循环点。

下面是该算法的实现步骤:

  1. 初始化指针:让慢指针 slow 和快指针 fast 都指向链表的头节点。

    ListNode* slow = head;
    ListNode* fast = head;
  2. 判断循环:慢指针每次移动一步,快指针每次移动两步。要是链表存在循环,那么快指针必然会追上慢指针;要是快指针抵达链表末尾(即 fast 或者 fast->next 为 null),就表明链表不存在循环。

     // 检测是否存在循环while (fast && fast->next) {slow = slow->next;fast = fast->next->next;// 快慢指针相遇,说明存在循环if (slow == fast) {}}

    如果链表有末尾那肯定就不存在循环了。既然有循环,因为快指针每次走2,慢指针每次走了,相当于快指针在慢指针后面追慢指针且每次移动快慢间的距离都减少1,所以必然存在快慢指针相遇的点。

  3. 寻找循环点:当快慢指针相遇时,将慢指针重新指向链表的头节点,然后让慢指针和快指针以相同的速度(每次移动一步)继续移动,它们再次相遇的节点就是循环点。

    // 检测是否存在循环while (fast && fast->next) {slow = slow->next;fast = fast->next->next;// 快慢指针相遇,说明存在循环if (slow == fast) {// 慢指针重新指向头节点slow = head;while (slow != fast) {slow = slow->next;fast = fast->next;}return slow;}}// 没有循环return nullptr;

 循环的长度L=b+c;

  • 慢指针:设慢指针走过的路程为 (S_{slow}),因为慢指针每次移动一步,所以 (S_{slow})=a + b。
  • 快指针:设快指针走过的路程为 (S_{fast}),快指针每次移动两步,由于快指针在慢指针进入循环后又多走了若干圈才和慢指针相遇,设快指针在循环里绕了 n 圈,那么(S_{fast}=a + b + nL=a + b+ n(b + c))
  • S fast =2S slow(a + b+ n(b + c)=2(a + b)),对该等式进行化简:
    (a + b+ n(b + c)=2a + 2b),
    a= n(b + c)-b=(n - 1)(b + c)+c。
  • 如此可见当快指针回到头部并且变为慢指针后,当快指针走到循环点后,慢指针走了a,也就是走了(n - 1)(b + c)+c,即n-1圈和一个c,走到了进入循环的地方,此时两指针相遇返回相遇点。
http://www.dtcms.com/wzjs/824849.html

相关文章:

  • 做网站该注意哪些基本要素昌大建设集团地址
  • 请问哪个网站可以做当地向导公众号开发图片太大上传怎么压缩图片
  • 成都市建设网站公司怎么做这个购物网站
  • ps做网站首页的尺寸做企业网站都有什么平台
  • 杭州微信建站广东省网站备案注销
  • 惠州网站制作策划个人网页设计说明书的设计目的
  • 用旧技术做网站能过毕设么知乎php怎么做网站后台
  • 建网站那家好自己做的网站加载慢
  • 泰安市违法建设网站做类似于彩票的网站犯法吗
  • 现在一般做网站都是去哪家做的it外包一个人可以赚多少
  • 爱站小工具计算器郑州政策最新消息
  • 网站建设套餐报价方案卖产品的网站怎么做
  • 怎么查看wordpresswordpress代码seo
  • 一个服务器可以做两个网站吗莆田建站培训
  • 贷款 东莞网站建设互联网网站运营
  • 太原论坛网站开发公司网件路由器设置
  • 网站建设浙江公司小程序代理模板
  • windows系统做网站长春好的做网站公司排名
  • 网站建设电话着么打《设计》韩国
  • 行政机关单位网站建设北京管庄网站建设公司
  • 大石桥网站建设公众号多少钱
  • 优秀网站建设哪个公司好如何建立公司网站意味着什么
  • 载带 东莞网站建设排版的网站
  • 申请免费个人网站空间网络推广渠道
  • 新鸿儒网站宝安网站设计
  • 静态网站生成器怎样做腾讯建站官网
  • 都芳漆中文网站建设遵义app开发公司排名
  • 网络营销导向的网站建设阿坝州住房和城乡建设厅网站
  • 网站地图样本阿里云服务器租用
  • 济南模版网站找生产建筑模板的厂家