淘寶網校園招聘筆試題2015

學識都 人氣:1.29W

①、數據結構

淘寶網校園招聘筆試題2015

在按層次遍歷二叉樹的算法中, 需要藉助的輔組數據結構是( )

A:隊列

B:棧

C:線性表

D:有序表

答案:A

解析:二叉樹層次遍歷指的是二叉樹節點按深度次序由高到低,由左到右接受訪問。層次遍歷二叉樹要用到隊列,在遍歷時具體做法如下:首先把根節點保存在一個隊列中,然後從隊列中取出節點訪問,訪問完畢後,把已經訪問節點的左右孩子節點放入隊列中,再次從隊列中取出訪問。這樣重複下去,直到所有層的節點都被訪問。隊列的特點是先進先出,因此使用隊列可以保證層序遍歷的節點次序。

②、C++

調用一成員函數時, 使用動態聯編的情況是( )

A:通過對象調用一虛函數

B:通過指針或引用調用一虛函數

C:通過對象調用靜態函數

D:通過指針或應用調用一靜態函數

答案:A

解析:聯編就是將模塊或者函數合併在一起生成可執行代碼的.處理過程,同時對每個模塊或者函數調用分配內存地址,並且對外部訪問也分配正確的內存地址,它是計算機程序彼此關聯的過程。按照聯編所進行的階段不同,可分爲兩種不同的聯編方法:靜態聯編和動態聯編。

靜態聯編是指在編譯階段就將函數實現和函數調用關聯起來,因此靜態聯編也叫早綁定,在編譯階段就必須瞭解所有的函數或模塊執行所需要檢測的信息,它對函數的選擇是基於指向對象的指針(或者引用)的類型,C語言中,所有的聯編都是靜態聯編。

動態聯編是指在程序執行的時候纔將函數實現和函數調用關聯,因此也叫運行時綁定或者晚綁定,動態聯編對函數的選擇不是基於指針或者引用,而是基於對象類型,不同的對象類型將做出不同的編譯結果。C++中一般情況下聯編也是靜態聯編,但是一旦涉及到動態多態和虛函數就必須使用動態聯編。