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


  CSP-S 2019 RP++!

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

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

 

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

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$

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

[答案] B

 

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

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

 

(未完待續……甚至不知道什么時候能續)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM