日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【数据结构与算法】之深入解析如何确定单链表有环并求环的入口和长度

發布時間:2024/5/21 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【数据结构与算法】之深入解析如何确定单链表有环并求环的入口和长度 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、檢測單鏈表中存在環

① 環的定義
  • 單鏈表中結點都是一個結點指向下一個結點這樣一個一個鏈接起來的,直到尾結點的指針域沒有指向,單鏈表就到此結束。
  • 鏈表有環的定義是,鏈表的尾結點的指針域并為空,指向了鏈接中間的某個結點,這樣就形成環,遍歷單鏈表就會死循環,這是因為破壞了結束條件。
  • 如下所示:如果單鏈表有環,則在遍歷時,在通過結點 J 之后,會重新回到結點 D:

② 快慢指針檢測
  • 設兩個工作指針,一個快一個慢,如果有環的話,它們會必然在某點相遇。
  • 算法的思想是:設定使用兩個指針,fast 與 slow,它們起始都位于鏈表的頭部。隨后,slow 指針每次向后移動一個位置,而 fast 指針向后移動兩個位置。如果鏈表中存在環,則 fast 指針最終將再次與 slow 指針在環中相遇。
  • 如下圖所示,設鏈表中環外部分的長度為 a。slow 指針進入環后,又走了 b 的距離與 fast 相遇。此時,fast 指針已經走完了環的 n 圈,因此它走過的總距
與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的【数据结构与算法】之深入解析如何确定单链表有环并求环的入口和长度的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。