<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 27,  comments - 3,  trackbacks - 0
    1. 如何判斷一個鏈表是否帶環
    2. 如何找到鏈表中的環的第一個節點

    第一個問題很好找,就是設置兩個指針,p , q 。 其中 p每次向前移一個,q每次向前移兩個,如果q能追的上p,則鏈表帶環,時間復雜度為O(n), 空間復雜度為O(1)
    第二個問題是室友在面某投行IT部門時的題目(可惜啊,俺過不了該投行的電話面試)。這個題目最容易的做法就是用一個數組記錄遍歷過的節點,然后第一次遍歷到已經訪問過的節點時就可以了。據室友說,題目要求空間復雜度為O(1) . 因此顯然不能用這個方法了。
    我想了一下,一開始想了一個O(n*n)的方法,后來受那個求兩個鏈表第一個公共節點的題目的啟發,想到了一個O(n)的算法,
    大概就是這樣:找到環中的任意一個節點,這個很容易找,在判斷鏈表是否包含環的步驟中,當p,q 相遇時,p和q必定在環內,不妨取p,再設r為p的下一個節點,在p和r之間將環打斷,這時可以得到兩個鏈表? h...p, r...p, (h為鏈表頭結點), 然后再將鏈表 h..p逆轉(此時r..p必然變為 r...h),求得鏈表p...h與r..h的第一個公共子節點就是所求的點。最后將p..h逆轉回來,將p和r連接上,即可得到原鏈表。空間復雜度為O(1), 時間復雜度為O(n).
    posted on 2011-05-15 16:10 Jeff Lee 閱讀(650) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     

    <2011年5月>
    24252627282930
    1234567
    891011121314
    15161718192021
    22232425262728
    2930311234

    常用鏈接

    留言簿(1)

    隨筆分類

    隨筆檔案

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 日韩欧毛片免费视频| 久久久免费精品re6| 国产一区二区三区在线免费| 亚洲午夜精品一区二区公牛电影院| 99re在线视频免费观看| 亚洲av永久无码精品表情包| a毛片在线看片免费| 亚洲AV无码一区二区三区DV| 久久免费视频观看| 亚洲老熟女@TubeumTV| 久九九精品免费视频| 亚洲狠狠婷婷综合久久蜜芽| 国产成人啪精品视频免费网| 午夜亚洲乱码伦小说区69堂| 免费一级毛片在级播放| a级毛片免费观看网站| 国产亚洲精久久久久久无码| 国产午夜无码精品免费看动漫| 亚洲一区二区三区日本久久九| 国产91免费视频| 亚洲国产精品自在自线观看| 亚洲成AV人网址| 全部免费毛片在线播放| 亚洲va在线va天堂va手机| 国产青草视频在线观看免费影院| 亚洲黄片手机免费观看| 亚洲高清视频在线观看| 美女视频黄免费亚洲| 粉色视频免费入口| 久久久久亚洲AV成人无码 | 亚洲精品无码人妻无码| 亚洲AV无码乱码在线观看性色扶| 91免费在线视频| 亚洲国产91在线| 红杏亚洲影院一区二区三区| 13一14周岁毛片免费| 美女视频黄视大全视频免费的| 亚洲人成人一区二区三区| 国产人在线成免费视频| 一日本道a高清免费播放| 18gay台湾男同亚洲男同|