阿里巴巴2013筆試題 演算法/研發崗

來源:互聯網
上載者:User

1.-7的二進位補碼 (D)

(1)-7的原碼   1000 0111

(2)符號位不變 1000 0111

(3)數值位取反 1111 1000

(4)加1        1111 1001

注意:

(1)正整數的補碼與原碼相同

(2)補碼轉化為原碼  

補碼的符號位為‘0’,原碼就補碼

補碼的符號位為‘1’,原碼就是補碼的補碼

2.四種介質,頻寬最大:(C)

A 同軸電纜 B 雙絞線 C 光纖 D 同步線

註:

(1)雙絞線也稱為雙扭線,是最古老但又最常用的傳輸媒體。把兩根互相絕緣的銅導線並排放在一起,然後用規則的方法絞合起來(這樣做是為了減少相鄰的導線的電磁幹擾)而構成雙絞線.

雙絞線分為1類到5類,區域網路中常用的為3類,4類和5類雙絞線。 3類線用於語音傳輸及最高傳輸速率為 10Mbps的資料轉送;4類線用於語音傳輸和最高傳輸速率為 16Mbps的資料轉送;5類線用於語音傳輸和最高傳輸速率為 100Mbps的資料轉送

(2)同軸電纜由內導體銅質芯線,絕緣層,網狀編製的外導體屏蔽層及保護塑料外層組成 ,內導體和外導體構成一組線對。由於外導體屏蔽層的作用,同軸電纜具有很好的抗幹擾性。

同軸電纜可以將 10Mb/S的基帶數字訊號傳送1千米到 1.2千米,因此被廣泛用於區域網路中

(3)光纖通訊就是利用光導纖維傳遞光脈衝來進行通訊,而光導纖維是光纖通訊的媒體。光纖在任何時間都只能單向傳輸,因此,要實行雙向通訊,它必須成對出現,一個用於輸入,一個用於輸出,光纖兩端接到光學介面上。

光纖的傳輸系統比同軸電纜大的多,一般小同軸電纜的最大傳輸頻寬為 20MHz左右,中同軸電纜的最大傳輸頻寬為 60MHz左右。單根光導纖維的資料轉送速率能達幾Gbps,在不使用中繼器的情況下,傳輸距離能達幾十公裡。

3. 進程阻塞原因 (A)

A.時間片切換   B.等待I/O  C.進程sleep   D.等待解鎖

如果沒有時間片輪轉,那麼進程就沒法切換了,一個進程將獨享CPU。但是不能稱時間片切換導致進程阻塞。

註:

(1)進程,概念主要有兩點:

第一,進程是一個實體。每一個進程都有它自己的地址空間,一般情況下,包括文本地區(text region)、資料區域(data region)和堆棧(stack region)。

文本地區儲存處理器執行的代碼;

資料區域儲存變數和進程執行期間使用的動態分配的記憶體;

堆棧地區儲存著活動程序呼叫的指令和本地變數。

第二,進程是一個“執行中的程式”。程式是一個沒有生命的實體,只有處理器賦予程式生命時,它才能成為一個活動的實體,我們稱其為進程。

(2)進程的三種基本狀態

進程在運行中不斷地改變其運行狀態。通常,一個運行進程必須具有以下三種基本狀態。

就緒(Ready)狀態  當進程已指派到除CPU以外的所有必要的資源,只要獲得處理機便可立即執行,這時的進程狀態稱為就緒狀態。

執行(Running)狀態當進程已獲得處理機,其程式正在處理機上執行,此時的進程狀態稱為執行狀態。

阻塞(Blocked)狀態  正在執行的進程,由於等待某個事件發生而無法執行時,便放棄處理機而處於阻塞狀態。引起進程阻塞的事件可有多種,例如,等待I/O完成、申請緩衝區不能滿足、等待信件(訊號)等。

進程三種狀態間的轉換

一個進程在運行期間,不斷地從一種狀態轉換到另一種狀態,它可以多次處於就緒狀態和執行狀態,也可以多次處於阻塞狀態。圖3_4描述了進程的三種基本狀態及其轉換。

(1) 就緒→執行   處於就緒狀態的進程,當進程發送器為之分配了處理機後,該進程便由就緒狀態轉變成執行狀態。

(2) 執行→就緒   處於執行狀態的進程在其執行過程中,因分配給它的一個時間片已用完而不得不讓出處理機,於是進程從執行狀態轉變成就緒狀態。

(3) 執行→阻塞   正在執行的進程因等待某種事件發生而無法繼續執行時,便從執行狀態變成阻塞狀態。

(4) 阻塞→就緒   處於阻塞狀態的進程,若其等待的事件已經發生,於是進程由阻塞狀態轉變為就緒狀態。

關於進程的一些介紹 http://oa.gdut.edu.cn/os/multimedia/oscai/chapter2/pages/ch22.htm#頁頭

4.設只含根節點的二叉樹高度為1,現有一顆高度為h(h>1)的二叉樹上只有出度為0和出度為2的節點,那麼這顆二叉樹節點最少為:

A.2^h-1  B.2h-1  C.2h  D.2h+1

更多精彩內容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/sjjg/

取H=1 則可以排除C和D

有個討巧的方法:直接取h=3,畫個圖看下,顯然是5,所以答案為B。

下面來分析下:如果每個節點出度要麼為0要麼為2,那麼也就是要麼自己為葉子,要麼自己擁有左右兒子。那麼什麼情況下節點最少呢?直接沿著一條路下去保持出度為2,直到高度達到h,那麼此時節點總數:2h-1。

5.給定下面程式,那麼執行printf("%d\n",foo(20,13));結果是多少:

int foo(int x,int y)  

{  

if(x <= 0 || y <= 0)return 1;  

return 3*foo(x-6,y/2);  

}  

A.3  B.9   C.27   D.81

解:foo(20,13)->3*foo(14,6)->9*foo(8,3)->27*foo(2,1)->81foo(-4,0)=81

6.對於以下說法錯誤的是:

A.Dijkstra是求兩點間最短路徑的,複雜度:O(n^2)。

B.Floyd-Warshall是求所有點對之間最短路徑的,複雜度:O(n^3)。

C.求n個數中的中位元複雜度最低為:O(n*logn)。

D.基於比較的排序演算法複雜度下界為:O(n*logn)。

註:

(1)Dijkstra

http://jpkc.xaau.edu.cn/sjjg/datastru/zxxx/View/6.5.html

http://jpkc.xaau.edu.cn/sjjg/datastru/zxxx/six%20lesson/642.html

一個按路徑長度遞增的次序產生最短路徑的演算法。

該演算法的基本思想是:

設定兩個頂點的集合S和T=V-S,集合S中存放已找到最短路徑的頂點,集合T存放當前還未找到最短路徑的頂點。初始狀態時,集合S中只包含源點v0,然後不斷從集合T中選取到頂點v0路徑長度最短的頂點u加入到集合S中,集合S每加入一個新的頂點u,都要修改頂點v0到集合T中剩餘頂點的最短路徑長度值,集合T中各頂點新的最短路徑長度值為原來的最短路徑長度值與頂點u的最短路徑長度值加上u到該頂點的路徑長度值中的較小值。此過程不斷重複,直到集合T的頂點全部加入到S中為止。

虛擬碼:

1  function Dijkstra(G, w, s)

2     for each vertex v in V[G]                        // 初始化

3           d[v] := infinity

4           previous[v] := undefined

5     d[s] := 0

6     S := empty set

7     Q := set of all vertices

8     while Q is not an empty set                      // Dijstra演算法主體

9           u := Extract_Min(Q)

10           S := S union {u}

11           for each edge (u,v) outgoing from u

12                  if d[v] > d[u] + w(u,v)             // 拓展邊(u,v)

13                        d[v] := d[u] + w(u,v)

14                        previous[v] := u

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.