最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

面試題快慢鏈表和快慢指針

 更新時(shí)間:2017年06月16日 11:52:46   投稿:lqh  
這篇文章主要介紹了面試題快慢鏈表和快慢指針的相關(guān)資料,需要的朋友可以參考下

騰訊的一道面試題:如何快速找到位置長(zhǎng)度單鏈表的中間節(jié)點(diǎn)?普通方法,就是先遍歷,在從頭找到2/length的中間節(jié)點(diǎn)。算法復(fù)雜度是:O(3*n/2)。而更快的方法就是利用快慢指針的原理。

快慢鏈表:利用標(biāo)尺的思想,設(shè)置兩個(gè)指針(一快一慢)*serach和*mid,剛開(kāi)始都指向單鏈表的頭結(jié)點(diǎn)。但是*search指針的移動(dòng)速度是*mid的兩倍。當(dāng)*search到尾結(jié)點(diǎn)的時(shí)候,mid剛好到了中間。算法復(fù)雜度是:O(n/2)

int GetMidNode(LinkList *L,int elem){
  LinkList *search,*mid;
  mid = search = L; //指向頭結(jié)點(diǎn)
  while (search->next != NULL){ //當(dāng)存在下個(gè)結(jié)點(diǎn)的時(shí)候 
    if (search->next->next!=NULL) {//檢查下個(gè)的下個(gè)節(jié)點(diǎn)是否為空 
      search = search->next->next;
      mid = mid->next;
    } 
    else
      search = search->next;
  }
  elem = mid->data;
  return elem;
} 

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

最新評(píng)論

海南省| 陆丰市| 定西市| 南皮县| 金平| 大荔县| 宕昌县| 沭阳县| 天祝| 巴东县| 卢湾区| 千阳县| 宣化县| 茌平县| 永德县| 旌德县| 西吉县| 怀宁县| 镇平县| 霍城县| 东城区| 凭祥市| 且末县| 高平市| 富锦市| 湖南省| 宜君县| 文水县| 金寨县| 内黄县| 揭东县| 岑巩县| 高台县| 安国市| 呼图壁县| 宁化县| 铅山县| 胶南市| 连云港市| 乌兰浩特市| 绥宁县|