亚洲综合AⅤ一区二区三区不卡,欧美成在线观看国产,老司机精品视频在线观看播放,精品久久国产免费

<dl id="2gmk4"><small id="2gmk4"></small></dl>
  • 首頁 - 網(wǎng)校 - 萬題庫 - 直播 - 雄鷹網(wǎng)校 - 團(tuán)購 - 書城 - 模考 - 學(xué)習(xí)通 - 導(dǎo)航 -
    首頁網(wǎng)校萬題庫直播雄鷹網(wǎng)校團(tuán)購書城?論壇實(shí)用文檔作文大全寶寶起名
    2015中考
    法律碩士
    2015高考
    MBA考試
    2015考研
    MPA考試
    在職研
    中科院
    考研培訓(xùn)
    專升本
    自學(xué)考試 成人高考
    四 六 級
    GRE考試
    攻碩英語
    零起點(diǎn)日語
    職稱英語
    口譯筆譯
    申碩英語
    零起點(diǎn)韓語
    商務(wù)英語
    日語等級
    GMAT考試
    公共英語
    職稱日語
    新概念英語
    專四專八
    博思考試
    零起點(diǎn)英語
    托?荚
    托業(yè)考試
    零起點(diǎn)法語
    雅思考試
    成人英語三級
    零起點(diǎn)德語
    等級考試
    華為認(rèn)證
    水平考試
    Java認(rèn)證
    職稱計(jì)算機(jī) 微軟認(rèn)證 思科認(rèn)證 Oracle認(rèn)證 Linux認(rèn)證
    公 務(wù) 員
    導(dǎo)游考試
    物 流 師
    出版資格
    單 證 員
    報(bào) 關(guān) 員
    外 銷 員
    價(jià)格鑒證
    網(wǎng)絡(luò)編輯
    駕 駛 員
    報(bào)檢員
    法律顧問
    管理咨詢
    企業(yè)培訓(xùn)
    社會工作者
    銀行從業(yè)
    教師資格
    營養(yǎng)師
    保險(xiǎn)從業(yè)
    普 通 話
    證券從業(yè)
    跟 單 員
    秘書資格
    電子商務(wù)
    期貨考試
    國際商務(wù)
    心理咨詢
    營 銷 師
    司法考試
    國際貨運(yùn)代理人
    人力資源管理師
    廣告師職業(yè)水平
    衛(wèi)生資格 執(zhí)業(yè)醫(yī)師 執(zhí)業(yè)藥師 執(zhí)業(yè)護(hù)士
    會計(jì)從業(yè)資格
    基金從業(yè)資格
    統(tǒng)計(jì)從業(yè)資格
    經(jīng)濟(jì)師
    精算師
    統(tǒng)計(jì)師
    會計(jì)職稱
    法律顧問
    ACCA考試
    初級會計(jì)職稱
    資產(chǎn)評估師
    高級經(jīng)濟(jì)師
    注冊會計(jì)師
    高級會計(jì)師
    美國注冊會計(jì)師
    審計(jì)師考試
    國際內(nèi)審師
    注冊稅務(wù)師
    理財(cái)規(guī)劃師
    一級建造師
    安全工程師
    設(shè)備監(jiān)理師
    公路監(jiān)理師
    公路造價(jià)師
    二級建造師
    招標(biāo)師考試
    物業(yè)管理師
    電氣工程師
    建筑師考試
    造價(jià)工程師
    注冊測繪師
    質(zhì)量工程師
    巖土工程師
    注冊給排水
    造價(jià)員考試
    注冊計(jì)量師
    環(huán)保工程師
    化工工程師
    暖通工程師
    咨詢工程師
    結(jié)構(gòu)工程師
    城市規(guī)劃師
    材料員考試
    消防工程師
    監(jiān)理工程師
    房地產(chǎn)估價(jià)
    土地估價(jià)師
    安全評價(jià)師
    房地產(chǎn)經(jīng)紀(jì)人
    投資項(xiàng)目管理師
    環(huán)境影響評價(jià)師
    土地登記代理人
    寶寶起名
    繽紛校園
    實(shí)用文檔
    入黨申請
    英語學(xué)習(xí)
    思想?yún)R報(bào)
    作文大全
    工作總結(jié)
    求職招聘 論文下載 直播課堂
    您現(xiàn)在的位置: 考試吧 > 軟件水平考試 > 復(fù)習(xí)資料 > 程序員 > 正文

    2015年軟件水平考試程序員精選題(1)

    考試吧整理“2015年軟件水平考試程序員精選題(1)”供考生參考,更多軟件水平考試資訊和備考資料請關(guān)注考試吧軟件水平考試網(wǎng)。

      -查找鏈表中倒數(shù)第k個(gè)結(jié)點(diǎn)

      題目:輸入一個(gè)單向鏈表,輸出該鏈表中倒數(shù)第k個(gè)結(jié)點(diǎn)。鏈表的倒數(shù)第0個(gè)結(jié)點(diǎn)為鏈表的尾指針。鏈表結(jié)點(diǎn)定義如下:

      struct ListNode

      {

      int m_nKey;

      ListNode* m_pNext;

      };

      分析:為了得到倒數(shù)第k個(gè)結(jié)點(diǎn),很自然的想法是先走到鏈表的尾端,再從尾端回溯k步。可是輸入的是單向鏈表,只有從前往后的指針而沒有從后往前的指針。因此我們需要打開我們的思路。

      既然不能從尾結(jié)點(diǎn)開始遍歷這個(gè)鏈表,我們還是把思路回到頭結(jié)點(diǎn)上來。假設(shè)整個(gè)鏈表有n個(gè)結(jié)點(diǎn),那么倒數(shù)第k個(gè)結(jié)點(diǎn)是從頭結(jié)點(diǎn)開始的第n-k-1個(gè)結(jié)點(diǎn)(從0開始計(jì)數(shù))。如果我們能夠得到鏈表中結(jié)點(diǎn)的個(gè)數(shù)n,那我們只要從頭結(jié)點(diǎn)開始往后走n-k-1步就可以了。如何得到結(jié)點(diǎn)數(shù)n?這個(gè)不難,只需要從頭開始遍歷鏈表,每經(jīng)過一個(gè)結(jié)點(diǎn),計(jì)數(shù)器加一就行了。

      這種思路的時(shí)間復(fù)雜度是O(n),但需要遍歷鏈表兩次。第一次得到鏈表中結(jié)點(diǎn)個(gè)數(shù)n,第二次得到從頭結(jié)點(diǎn)開始的第n­-k-1個(gè)結(jié)點(diǎn)即倒數(shù)第k個(gè)結(jié)點(diǎn)。

      如果鏈表的結(jié)點(diǎn)數(shù)不多,這是一種很好的方法。但如果輸入的鏈表的結(jié)點(diǎn)個(gè)數(shù)很多,有可能不能一次性把整個(gè)鏈表都從硬盤讀入物理內(nèi)存,那么遍歷兩遍意味著一個(gè)結(jié)點(diǎn)需要兩次從硬盤讀入到物理內(nèi)存。我們知道把數(shù)據(jù)從硬盤讀入到內(nèi)存是非常耗時(shí)間的操作。我們能不能把鏈表遍歷的次數(shù)減少到1?如果可以,將能有效地提高代碼執(zhí)行的時(shí)間效率。

      如果我們在遍歷時(shí)維持兩個(gè)指針,第一個(gè)指針從鏈表的頭指針開始遍歷,在第k-1步之前,第二個(gè)指針保持不動(dòng);在第k-1步開始,第二個(gè)指針也開始從鏈表的頭指針開始遍歷。由于兩個(gè)指針的距離保持在k-1,當(dāng)?shù)谝粋(gè)(走在前面的)指針到達(dá)鏈表的尾結(jié)點(diǎn)時(shí),第二個(gè)指針(走在后面的)指針正好是倒數(shù)第k個(gè)結(jié)點(diǎn)。

      這種思路只需要遍歷鏈表一次。對于很長的鏈表,只需要把每個(gè)結(jié)點(diǎn)從硬盤導(dǎo)入到內(nèi)存一次。因此這一方法的時(shí)間效率前面的方法要高。

      思路一的參考代碼:

      ///////////////////////////////////////////////////////////////////////

      // Find the kth node from the tail of a list

      // Input: pListHead - the head of list

      // k - the distance to the tail

      // Output: the kth node from the tail of a list

      ///////////////////////////////////////////////////////////////////////

      ListNode* FindKthToTail_Solution1(ListNode* pListHead, unsigned int k)

      {

      if(pListHead == NULL)

      return NULL;

      // count the nodes number in the list

      ListNode *pCur = pListHead;

      unsigned int nNum = 0;

      while(pCur->m_pNext != NULL)

      {

      pCur = pCur->m_pNext;

      nNum ++;

      }

      // if the number of nodes in the list is less than k

      // do nothing

      if(nNum < k)

      return NULL;

      // the kth node from the tail of a list

      // is the (n - k)th node from the head

      pCur = pListHead;

      for(unsigned int i = 0; i < nNum - k; ++ i)

      pCur = pCur->m_pNext;

      return pCur;

      }

      相關(guān)推薦:

      2015年軟考信息技術(shù)處理員考前知識點(diǎn)總結(jié)匯總

      2015年軟件水平考試《程序員》提高練習(xí)題匯總

      2015軟件水平考試《程序員》知識點(diǎn)總結(jié)匯總

    文章搜索
    軟件水平考試欄目導(dǎo)航
    版權(quán)聲明:如果軟件水平考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請與我們聯(lián)系800@lyawyb.com,我們將會及時(shí)處理。如轉(zhuǎn)載本軟件水平考試網(wǎng)內(nèi)容,請注明出處。
    Copyright © 2004- 考試吧軟件水平考試網(wǎng) All Rights Reserved 
    中國科學(xué)院研究生院權(quán)威支持(北京)
    在線模擬試題
    考證通關(guān)殺器
    考試最新資訊
    學(xué)
    一次通關(guān)技巧