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

  1. 
    
    <b id="glvx9"></b>
        1. <blockquote id="glvx9"><meter id="glvx9"></meter></blockquote>
            首頁(yè) - 網(wǎng)校 - 萬(wàn)題庫(kù) - 美好明天 - 直播 - 導(dǎo)航
            您現(xiàn)在的位置: 考試吧 > 軟件水平考試 > 模擬試題 > 程序員 > 正文

            計(jì)算機(jī)軟件水平考試《程序員》面試題精選題(4)

            來(lái)源:考試吧 2017-10-18 11:58:07 要考試,上考試吧! 萬(wàn)題庫(kù)
            “計(jì)算機(jī)軟件水平考試《程序員》面試題精選題(4)”供考生參考。更多軟件水平考試內(nèi)容請(qǐng)?jiān)L問(wèn)考試吧軟件水平考試網(wǎng)。

              -從上往下遍歷二元樹(shù)

              題目:輸入一顆二元樹(shù),從上往下按層打印樹(shù)的每個(gè)結(jié)點(diǎn),同一層中按照從左往右的順序打印。

              例如輸入

              8

              / \

              6 10

              /\ /\

              5 7 9 11

              輸出8 6 10 5 7 9 11。

              分析:這曾是微軟的一道面試題。這道題實(shí)質(zhì)上是要求遍歷一棵二元樹(shù),只不過(guò)不是我們熟悉的前序、中序或者后序遍歷。

              我們從樹(shù)的根結(jié)點(diǎn)開(kāi)始分析。自然先應(yīng)該打印根結(jié)點(diǎn)8,同時(shí)為了下次能夠打印8的兩個(gè)子結(jié)點(diǎn),我們應(yīng)該在遍歷到8時(shí)把子結(jié)點(diǎn)6和10保存到一個(gè)數(shù)據(jù)容器中,F(xiàn)在數(shù)據(jù)容器中就有兩個(gè)元素6 和10了。按照從左往右的要求,我們先取出6訪問(wèn)。打印6的同時(shí)要把6的兩個(gè)子結(jié)點(diǎn)5和7放入數(shù)據(jù)容器中,此時(shí)數(shù)據(jù)容器中有三個(gè)元素10、5和7。接下來(lái)我們應(yīng)該從數(shù)據(jù)容器中取出結(jié)點(diǎn)10訪問(wèn)了。注意10比5和7先放入容器,此時(shí)又比5和7先取出,就是我們通常說(shuō)的先入先出。因此不難看出這個(gè)數(shù)據(jù)容器的類(lèi)型應(yīng)該是個(gè)隊(duì)列。

              既然已經(jīng)確定數(shù)據(jù)容器是一個(gè)隊(duì)列,現(xiàn)在的問(wèn)題變成怎么實(shí)現(xiàn)隊(duì)列了。實(shí)際上我們無(wú)需自己動(dòng)手實(shí)現(xiàn)一個(gè),因?yàn)镾TL已經(jīng)為我們實(shí)現(xiàn)了一個(gè)很好的deque(兩端都可以進(jìn)出的隊(duì)列),我們只需要拿過(guò)來(lái)用就可以了。

              我們知道樹(shù)是圖的一種特殊退化形式。同時(shí)如果對(duì)圖的深度優(yōu)先遍歷和廣度優(yōu)先遍歷有比較深刻的理解,將不難看出這種遍歷方式實(shí)際上是一種廣度優(yōu)先遍歷。因此這道題的本質(zhì)是在二元樹(shù)上實(shí)現(xiàn)廣度優(yōu)先遍歷。

              參考代碼:

              #include

              #include

              using namespace std;

              struct BTreeNode // a node in the binary tree

              {

              int m_nValue; // value of node

              BTreeNode *m_pLeft; // left child of node

              BTreeNode *m_pRight; // right child of node

              };

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

              // Print a binary tree from top level to bottom level

              // Input: pTreeRoot - the root of binary tree

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

              void PrintFromTopToBottom(BTreeNode *pTreeRoot)

              {

              if(!pTreeRoot)

              return;

              // get a empty queue

              deque dequeTreeNode;

              // insert the root at the tail of queue

              dequeTreeNode.push_back(pTreeRoot);

              while(dequeTreeNode.size())

              {

              // get a node from the head of queue

              BTreeNode *pNode = dequeTreeNode.front();

              dequeTreeNode.pop_front();

              // print the node

              cout << pnode-="">m_nValue << ' ';

              // print its left child sub-tree if it has

              if(pNode->m_pLeft)

              dequeTreeNode.push_back(pNode->m_pLeft);

              // print its right child sub-tree if it has

              if(pNode->m_pRight)

              dequeTreeNode.push_back(pNode->m_pRight);

              }

              }

              相關(guān)推薦:

              2017年計(jì)算機(jī)軟件水平考試時(shí)間公布(全年)

              各地2017年軟件水平考試準(zhǔn)考證打印/領(lǐng)取時(shí)間匯總

              考試吧特別策劃:2017年計(jì)算機(jī)軟考報(bào)考指南專(zhuān)題熱點(diǎn)文章

              軟考各科目模擬試題及答案各科目復(fù)習(xí)指導(dǎo)匯總

              軟考報(bào)考條件軟考報(bào)名方法考試大綱科目

              歷年軟考真題及答案匯總軟件水平考試簡(jiǎn)介

            文章搜索
            ·精選試題 ·智能練習(xí)
            ·智能評(píng)估 ·視頻解析
            掃描二維碼下載
            • 初級(jí)職稱(chēng)
            • 中級(jí)職稱(chēng)
            • 高級(jí)職稱(chēng)

            版權(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) 出版物經(jīng)營(yíng)許可證新出發(fā)京批字第直170033號(hào) 
            京ICP證060677 京ICP備05005269號(hào) 中國(guó)科學(xué)院研究生院權(quán)威支持(北京)
            在線(xiàn)模擬試題
            考證通關(guān)殺器
            考試最新資訊
            學(xué)
            一次通關(guān)技巧