CSP-S初賽模擬題筆記(二)

  CSP-S 2019 RP++!算法

  衆所周知,NOIP屍體尚熱,亡魂未散,CCF開辦了CSP-S 2019初賽模擬賽。函數

  這是我瞎寫的第二份試卷題解,順便複習。(什麼?第一份?好難的!)spa

 

單選題(1)某計算機的 CPU 和內存之間的地址總線寬度是 32 位(bit),這臺計算機最多可使用(  )的內存。.net

A. 2GB  B. 4GB  C. 8GB  D. 16GB設計

[解析] 32位(bit),即$2^{30}$字節(byte)。指針

    $1 GB=1024 MB=1024*1024 KB=1024*1024*1024 byte=2^{30} byte$blog

    $32 bit=2^{32} byte=2^2*2^{30} byte=4GB$ip

[答案] B內存

 

單選題(2)下面屬於解釋執行的程序設計語言是(  )get

A. C  B. C++  C. Pascal  D. Python

[解析] 解釋執行語言:Python,JavaScript,C#,PHP,Basic,VBScript……

    編譯執行語言:C,C++,Objective-C……

[答案] D

 

單選題(3)二進制數 00101100 和 01010101 異或的結果是(  )

A. 00101000

B. 01111001

C. 01000100

D. 00111000

[解析] 根據二進制異或「相同爲1,不一樣爲0」的規則,進行異或:

      $00101100$

      $01010101$

    得:$01111001$

[答案] B

 

單選題(4)與二進制小數0.1相等的八進制數是(  )

A. 0.8  B. 0.4  C. 0.2  D. 0.1

[解析] 由二進制的特色可知,$(0.1)_2=(0.5)_10=(0.4)_8$。

[答案] B

 

單選題(5)設某算法的時間複雜度函數的遞推方程是$T(n)=T(n-1)+n$($n$爲正整數)及$T(0)=1$,則該算法的時間複雜度爲(  )

A. $O(log n)$  B. $O(n log n)$  C. $O(n)$  D. $O(n^2)$

[解析] 顯然,$T(n)=T(n-1)+n$

          $=n+(n-1)+(n-2)+……+1$

    因此複雜度爲$O(n^2)$

[答案] D

 

單選(6)表達式$a*(b+c)-d$的後綴表達形式爲(  )

A. abcd*+-  B. abc+*d-  C. abc*+d-  D. -+*abcd

[解析] 關於中綴表達式轉後綴表達式的方法,我讀過不少人的作法,幾乎都須要用到棧,在初賽中這種步驟較爲繁瑣。

    這裏有一種不用棧的手算方法,比較簡單,能夠詳見這篇dalao的博文:中綴表達式轉後綴表達式

    歸納一下,方法就是:先按運算符優先級對每一個式子加括號,而後將運算符移到它後面的括號後面就好了。

[答案] C

 

單選(7)一棵二叉樹以下圖所示,若採用二叉樹鏈表存儲該二叉樹(各個結點包括結點的數據、左孩子指針、右孩子指針)。若是沒有左孩子或者右孩子,則對應的爲空指針。那麼該鏈表中空指針的數目爲( )

A. 6  B. 7  C. 12  D. 14

[解析] 這題咱們只須要會數數外加認真做答就能夠答對。圖中有3個點沒有兒子,有1個點只有1個兒子。因此空指針數目:$3*2+1*1=7$。

[答案] B

 

單選題(8)以比較做爲基本運算,在$N$個數中找最小數的最少運算次數爲(  )

A. $N$  B. $N^2$  C. $N-1$  D. $log N$

[解析] 衆所周知,要找$N$個數的最小數,是必須得遍歷一遍這$N$個數的(不然拿異能感應最小數嗎)。

    而此題「以比較做爲基本運算」,找最小數只須要比較$N-1$次,由於本身和本身沒必要比較。

[答案] C

 

單選題(9)在有$n$個子葉節點的哈夫曼樹中,其節點總數爲(  )

A. $2^{n-1}$  B. $2n-1$  C. $2n+1$  D. $2n$

[解析] 哈夫曼樹是一種特殊樹形(是二叉樹,至少能夠看得出來,本題出題人但願咱們認爲這是一種二叉樹),這種樹只存在出度爲$0$或$2$的節點。

    能夠長這樣,也能夠長成其餘模樣:

    很顯然,葉子節點爲$n$,即爲出度爲$0$的節點數爲$n$,根據哈夫曼樹的特性,能夠知道出度爲$1$的節點數爲$n-1$。因此總數爲$2n-1$

[答案] B

 

單選題(10)G是一個非連通簡單無向圖,共有28條邊,則該圖至少有(  )個頂點。

A. 10  B. 9  C. 8  D. 7

[解析] 由於題目要求求最少頂點數,而徹底連通圖頂點最少,因此先假設28條邊構成一個徹底連通圖。

    設該徹底連通圖頂點數爲$n$。${n*(n-1)}/{2}=28$,解之得,$n=8$。

    又由於這是「非聯通簡單無向圖」,因此再加一個遊離在外的點,則該圖至少有$9$個頂點。

[答案] B

 

(未完待續……甚至不知道何時能續)

相關文章
相關標籤/搜索