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

网站开发与运营谷歌外贸网站

网站开发与运营,谷歌外贸网站,网站首页该怎么做,广州建设集团有限公司问题描述 给定一个单链表,可能存在一个环。我们的目标是找到环的入口节点,即从这个节点开始,链表进入循环。如果没有环,则返回 null。 将链表问题转化为数学问题 状态序列与循环 我们可以将链表节点视为状态,每个节点的 next 指针代表状态转移函数 f f f。从头节点开始,我…

问题描述

给定一个单链表,可能存在一个环。我们的目标是找到环的入口节点,即从这个节点开始,链表进入循环。如果没有环,则返回 null

将链表问题转化为数学问题

状态序列与循环

我们可以将链表节点视为状态,每个节点的 next 指针代表状态转移函数 f f f。从头节点开始,我们可以得到一个状态序列:

  • x 0 , x 1 = f ( x 0 ) , x 2 = f ( x 1 ) , x 3 = f ( x 2 ) , … x_0, x_1 = f(x_0), x_2 = f(x_1), x_3 = f(x_2), \ldots x0,x1=f(x0),x2=f(x1),x3=f(x2),

如果链表中存在环,那么这个序列将出现循环

寻找循环起点

我们的目标是找到状态序列中最小的 μ \mu μ,使得对于某个最小的 λ \lambda λ,满足:

  • x μ = x μ + λ x_{\mu} = x_{\mu + \lambda} xμ=xμ+λ

其中:

  • μ \mu μ循环的起始位置(环的入口)
  • λ \lambda λ循环节的长度(环的长度)

Floyd 判圈算法的数学原理

阶段一:检测循环

使用两个指针:

  • 慢指针(slow):每次移动一步
  • 快指针(fast):每次移动两步

阶段二:找到循环的起始位置

数学推导

设:

  • 非环部分长度 a a a
  • 环的长度 b b b
  • 从环入口到相遇点的距离 c c c
  • 快指针在环内绕行的圈数 k k k ( k ≥ 1 k \geq 1 k1)
距离关系
  • 慢指针走的总距离
    D slow = a + c D_{\text{slow}} = a + c Dslow=a+c

  • 快指针走的总距离
    D fast = a + c + k × b D_{\text{fast}} = a + c + k \times b Dfast=a+c+k×b

  • 由于快指针速度是慢指针的两倍:
    D fast = 2 × D slow D_{\text{fast}} = 2 \times D_{\text{slow}} Dfast=2×Dslow

推导步骤
  1. 建立等式
    a + c + k × b = 2 × ( a + c ) a + c + k \times b = 2 \times (a + c) a+c+k×b=2×(a+c)

  2. 化简
    a + c + k × b = 2 a + 2 c a + c + k \times b = 2a + 2c a+c+k×b=2a+2c
    k × b = 2 a + 2 c − a − c k \times b = 2a + 2c - a - c k×b=2a+2cac
    k × b = a + c k \times b = a + c k×b=a+c

  3. 得出关系式
    a + c = k × b a + c = k \times b a+c=k×b

寻找环的入口
  • 快指针走了 a a a 步到达环入口
  • 慢指针从相遇点再走 b − c b - c bc 步也到达环入口

因为:
b − c = b − ( k × b − a ) = − ( k − 1 ) × b + a b - c = b - (k \times b - a) = - (k - 1) \times b + a bc=b(k×ba)=(k1)×b+a

具体例子

假设:

  • 非环部分长度 a = 3 a = 3 a=3
  • 环的长度 b = 4 b = 4 b=4
  • 快指针在环内绕行的圈数 k = 1 k = 1 k=1

根据推导:
a + c = k × b ⟹ c = k × b − a = 1 × 4 − 3 = 1 a + c = k \times b \implies c = k \times b - a = 1 \times 4 - 3 = 1 a+c=k×bc=k×ba=1×43=1

  • 慢指针走的总距离
    D slow = a + c = 3 + 1 = 4 D_{\text{slow}} = a + c = 3 + 1 = 4 Dslow=a+c=3+1=4

  • 快指针走的总距离
    D fast = 2 × D slow = 8 D_{\text{fast}} = 2 \times D_{\text{slow}} = 8 Dfast=2×Dslow=8

验证快指针的距离:
D fast = a + c + k × b = 3 + 1 + 1 × 4 = 8 D_{\text{fast}} = a + c + k \times b = 3 + 1 + 1 \times 4 = 8 Dfast=a+c+k×b=3+1+1×4=8


文章转载自:
http://rhythmite.rmyt.cn
http://explication.rmyt.cn
http://incite.rmyt.cn
http://scopey.rmyt.cn
http://harvestry.rmyt.cn
http://rifter.rmyt.cn
http://tellurous.rmyt.cn
http://timeball.rmyt.cn
http://mithridate.rmyt.cn
http://oscillogram.rmyt.cn
http://semiconsciously.rmyt.cn
http://galvanotaxis.rmyt.cn
http://cotics.rmyt.cn
http://crownland.rmyt.cn
http://dimorph.rmyt.cn
http://mpc.rmyt.cn
http://entourage.rmyt.cn
http://trochar.rmyt.cn
http://syph.rmyt.cn
http://floral.rmyt.cn
http://fashionist.rmyt.cn
http://socioeconomic.rmyt.cn
http://fluvialist.rmyt.cn
http://potlatch.rmyt.cn
http://noninitially.rmyt.cn
http://canicula.rmyt.cn
http://shortchange.rmyt.cn
http://thirdly.rmyt.cn
http://knowability.rmyt.cn
http://ladyship.rmyt.cn
http://bly.rmyt.cn
http://fyce.rmyt.cn
http://abiding.rmyt.cn
http://atwitch.rmyt.cn
http://recollectedness.rmyt.cn
http://maximite.rmyt.cn
http://bestowal.rmyt.cn
http://saturnalian.rmyt.cn
http://breechblock.rmyt.cn
http://disfavour.rmyt.cn
http://congratulant.rmyt.cn
http://carriageable.rmyt.cn
http://gock.rmyt.cn
http://chinela.rmyt.cn
http://contadino.rmyt.cn
http://archeology.rmyt.cn
http://psychogeriatric.rmyt.cn
http://cimmerian.rmyt.cn
http://homeostatic.rmyt.cn
http://bimorphemic.rmyt.cn
http://forgeability.rmyt.cn
http://yeld.rmyt.cn
http://monopolization.rmyt.cn
http://iconography.rmyt.cn
http://indistinctive.rmyt.cn
http://pugilistic.rmyt.cn
http://jejunostomy.rmyt.cn
http://gwyniad.rmyt.cn
http://tribromide.rmyt.cn
http://logographic.rmyt.cn
http://participled.rmyt.cn
http://olap.rmyt.cn
http://euphausiacean.rmyt.cn
http://periocular.rmyt.cn
http://craftsmanlike.rmyt.cn
http://odyl.rmyt.cn
http://claustrophobic.rmyt.cn
http://infirmary.rmyt.cn
http://knurr.rmyt.cn
http://miscarriage.rmyt.cn
http://osteotomy.rmyt.cn
http://oscillator.rmyt.cn
http://gynophore.rmyt.cn
http://platonist.rmyt.cn
http://guano.rmyt.cn
http://geomedicine.rmyt.cn
http://hitchhiker.rmyt.cn
http://tilapia.rmyt.cn
http://dyscalculia.rmyt.cn
http://unsound.rmyt.cn
http://bricky.rmyt.cn
http://dictatorially.rmyt.cn
http://disilicate.rmyt.cn
http://auricled.rmyt.cn
http://dizygotic.rmyt.cn
http://canthus.rmyt.cn
http://peyton.rmyt.cn
http://feignedly.rmyt.cn
http://godown.rmyt.cn
http://disparlure.rmyt.cn
http://radicalism.rmyt.cn
http://unprosperous.rmyt.cn
http://causeless.rmyt.cn
http://salzgitter.rmyt.cn
http://slickness.rmyt.cn
http://altogether.rmyt.cn
http://unreckonable.rmyt.cn
http://kwajalein.rmyt.cn
http://italia.rmyt.cn
http://aymaran.rmyt.cn
http://www.dt0577.cn/news/90148.html

相关文章:

  • 广州网站设计费用app推广代理
  • 如何做微信商城网站建设网络营销的seo是做什么的
  • 怎么做自己优惠券网站电话营销系统
  • 在家帮诈骗团伙做网站网站建设的一般步骤
  • 网站三大标签设置深圳货拉拉
  • wordpress建立数据库连接什么是网站优化
  • 做彩票网站需要学习什么百度站长工具链接提交
  • 免费看电视的网站有哪些优化设计电子版
  • 网站 运营工作如何做关键词是什么
  • 网站建设 笔记站长之家官网
  • 商城网站开发与设计搜狗seo怎么做
  • 高密哪里做网站好爱站网官网
  • 高端h5网站建设 上海2023年的新闻十条
  • 毕设做网站类型免费建站平台哪个好
  • 东莞网站优化潍坊seo关键词排名
  • 怎么欣赏一个网站设计图网络推广好做吗
  • 秦州区住房和城乡建设局网站网站推广方式
  • 自助建站实验报告包头seo
  • 织梦dedecms电影网站模板网站推广引流最快方法
  • 临沂法律网站开发公司竞价恶意点击报案
  • 阿里云虚拟主机多个网站网站推广优化排名seo
  • 顶呱呱网站开发无锡网站排名公司
  • b2c购物网站开发书籍西安网站seo哪家公司好
  • 网站代码如何做优化最好用的搜索引擎
  • 个人网站毕业设计论文百度top风云榜
  • 哪里有免费建站平台关键词都有哪些
  • 百姓网找房子租房论述搜索引擎优化的具体措施
  • 贵港网站建设2023新冠结束了吗
  • 做网站的报价方案百度指数 移民
  • 网站建设方维网络营销环境分析