在线现看午夜福利片|女人16久久免费视频|鲁丝片一区鲁丝片二区鲁丝|一区二区三区欧美在线

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

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

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

              查看匯總:2015軟件水平考試程序員精選題匯總

              求二元查找樹(shù)的鏡像

              題目:輸入一顆二元查找樹(shù),將該樹(shù)轉(zhuǎn)換為它的鏡像,即在轉(zhuǎn)換后的二元查找樹(shù)中,左子樹(shù)的結(jié)點(diǎn)都大于右子樹(shù)的結(jié)點(diǎn)。用遞歸和循環(huán)兩種方法完成樹(shù)的鏡像轉(zhuǎn)換。

              例如輸入:

              8

              / \

              6 10

              /\ /\

              5 7 9 11

              輸出:

              8

              / \

              10 6

              /\ /\

              11 9 7 5

              定義二元查找樹(shù)的結(jié)點(diǎn)為:

              struct BSTreeNode // a node in the binary search tree (BST)

              {

              int m_nValue; // value of node

              BSTreeNode *m_pLeft; // left child of node

              BSTreeNode *m_pRight; // right child of node

              };

              分析:盡管我們可能一下子不能理解鏡像是什么意思,但上面的例子給我們的直觀感覺(jué),就是交換結(jié)點(diǎn)的左右子樹(shù)。我們?cè)囍诒闅v例子中的二元查找樹(shù)的同時(shí)來(lái)交換每個(gè)結(jié)點(diǎn)的左右子樹(shù)。遍歷時(shí)首先訪問(wèn)頭結(jié)點(diǎn)8,我們交換它的左右子樹(shù)得到:

              8

              / \

              10 6

              /\ /\

              9 11 5 7

              我們發(fā)現(xiàn)兩個(gè)結(jié)點(diǎn)6和10的左右子樹(shù)仍然是左結(jié)點(diǎn)的值小于右結(jié)點(diǎn)的值,我們?cè)僭囍粨Q他們的左右子樹(shù),得到:

              8

              / \

              10 6

              /\ /\

              11 9 7 5

              剛好就是要求的輸出。

              上面的分析印證了我們的直覺(jué):在遍歷二元查找樹(shù)時(shí)每訪問(wèn)到一個(gè)結(jié)點(diǎn),交換它的左右子樹(shù)。這種思路用遞歸不難實(shí)現(xiàn),將遍歷二元查找樹(shù)的代碼稍作修改就可以了。參考代碼如下:

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

              // Mirror a BST (swap the left right child of each node) recursively

              // the head of BST in initial call

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

              void MirrorRecursively(BSTreeNode *pNode)

              {

              if(!pNode)

              return;

              // swap the right and left child sub-tree

              BSTreeNode *pTemp = pNode->m_pLeft;

              pNode->m_pLeft = pNode->m_pRight;

              pNode->m_pRight = pTemp;

              // mirror left child sub-tree if not null

              if(pNode->m_pLeft)

              MirrorRecursively(pNode->m_pLeft);

              // mirror right child sub-tree if not null

              if(pNode->m_pRight)

              MirrorRecursively(pNode->m_pRight);

              }

              由于遞歸的本質(zhì)是編譯器生成了一個(gè)函數(shù)調(diào)用的棧,因此用循環(huán)來(lái)完成同樣任務(wù)時(shí)最簡(jiǎn)單的辦法就是用一個(gè)輔助棧來(lái)模擬遞歸。首先我們把樹(shù)的頭結(jié)點(diǎn)放入棧中。在循環(huán)中,只要棧不為空,彈出棧的棧頂結(jié)點(diǎn),交換它的左右子樹(shù)。如果它有左子樹(shù),把它的左子樹(shù)壓入棧中;如果它有右子樹(shù),把它的右子樹(shù)壓入棧中。這樣在下次循環(huán)中就能交換它兒子結(jié)點(diǎn)的左右子樹(shù)了。參考代碼如下:

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

              // Mirror a BST (swap the left right child of each node) Iteratively

              // Input: pTreeHead: the head of BST

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

              void MirrorIteratively(BSTreeNode *pTreeHead)

              {

              if(!pTreeHead)

              return;

              std::stackstackTreeNode;

              stackTreeNode.push(pTreeHead);

              while(stackTreeNode.size())

              {

              BSTreeNode *pNode = stackTreeNode.top();

              stackTreeNode.pop();

              // swap the right and left child sub-tree

              BSTreeNode *pTemp = pNode->m_pLeft;

              pNode->m_pLeft = pNode->m_pRight;

              pNode->m_pRight = pTemp;

              // push left child sub-tree into stack if not null

              if(pNode->m_pLeft)

              stackTreeNode.push(pNode->m_pLeft);

              // push right child sub-tree into stack if not null

              if(pNode->m_pRight)

              stackTreeNode.push(pNode->m_pRight);

              }

              }

              相關(guān)推薦:

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

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

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

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