數據結構測驗1


1.下列關於數據的邏輯結構的敘述中,不正確的是(   )。

 
  • A、數據的邏輯結構是數據元素間關系的描述
  • B、數據的邏輯結構是數據元素之間的固有聯系
  • C、數據的邏輯結構具體反映數據在計算機中的存儲方式
  • D、數據的邏輯結構分為線性結構和非線性結構

C.  數據的邏輯結構與數據的存儲無關

2.關於數據的存儲結構的敘述中,正確的是(    )。 

 

 

  • A、數據的存儲結構是數據間關系的抽象描述
  • B、數據的存儲結構是邏輯結構在計算機存儲器中的表示
  • C、數據的存儲結構分為線性結構和非線性結構
  • D、數據的存儲結構對數據運算的具體實現沒有影響

B  A和C選項描述的均是邏輯結構,D選項數據的存儲結構對數據的運算的具體的實現有影響。

3.按照數據結構中對數據類型的定義,C語言中的復合數據類型指的是(  )。

 

 

  • A、整型
  • B、結構型
  • C、字符型
  • D、實型

B

4.偽代碼是(  )。

 

 

  • A、能夠方便描述算法中的分支與循環等結構化語句
  • B、描述算法且容易理解的一種語言
  • C、不能直接編譯或解釋執行
  • D、以上都正確

D

5.在下面的程序段中,語句x=x+1的頻度為(    )

  for (i=1;i<= n;i++)

      for (j=1;j<= n;j++)

             x=x+1;

 

 

 

  • A、2n
  • B、n
  • C、n2
  • D、log2n

C  里面的循環j會運行n次,外面的循環i也會運行n次,所以頻度為n2

6.程序段 for (i=n;i>0;i--)

              for (j=1;j<i;j++)

                   if (A[j]>A[j+1])

                        Swap(A[j],A[j+1]);    //將A[j]與A[j+1]對換

其中 n為正整數,則在最壞情況下算法的時間復雜度是(   )

 

 

 

 

 

  • A、O(n)
  • B、O(nlogn)
  • C、O(n3)
  • D、O(n2)

D  他的最壞情況就是每一次都滿足A[j]>A[j+1],即頻度為:(n+1)*n/2,所以時間復雜度為:O(n2)

7.以下數據結構中,(    )是非線性結構。

 

 

  • A、
  • B、字符串
  • C、隊列
  • D、

A  非線性結構包括:樹、圖、網等

8.在下面的程序段中,對語句x++;的頻度為(    )。

  for (i=1;i<=n;i++) 

    for (j=1;j<=i;j++)

     for (k=1;k<=j;j++) 

              x++;

 

 

 

  • A、n(n+1)
  • B、n(n-i)(n-j)
  • C、n(n+1)(n+2)/6
  • D、nlogn

C  根據規律可得,時間頻度為:1+(1+2)+(1+2+3)+......+(1+2+3+......+n),也就是對i=1,i到n,i(i+1)/2求和,解得就是C選項。

9.下面程序段的時間復雜度為(    )。

  i=1;

  while (i<n)

         i=i*2;

 

 

 

  • A、O(n)
  • B、O(log2n)
  • C、O(1)
  • D、O(2n)

B  執行log2n次,所以時間復雜度為O(log2n)

10.以下程序段的時間復雜度為(   )。

  i=1;

  while (i<n){

      for (j=1;j<=n;j++)  x++;

        i=i*2;  

  }

 

 

 

 

  • A、O(nlog2n) 
  • B、O(log2n) 
  • C、O(n2
  • D、O(2n+logn)

A  對i層要進行log2n次運算,而對於j循環要進行n次運算,所以時間復雜度為O(nlog2n)

11.影響算法的時間復雜度的因素有(   )。

 

 

 

  • A、問題的規模
  • B、待處理數據的初態 
  • C、內存的大小
  • D、操作系統的選擇

AB  影響算法時間復雜度的因素有問題的規模,待處理數據的初態

12.下面說法正確的是(    )

 

 

 

  • A、算法原地工作的含義是指不需要任何額外的輔助空間。 
  • B、在相同的規模n下,復雜度O(n)的算法在執行時間上比時間復雜度為O(2n)的算法快。 
  • C、所謂最壞情況時間復雜度是指估算算法執行時間的一個上界。 
  • D、同一個算法,實現語言的級別越高,執行效率就越低

BCD  算法原地工作的含義是指不需要任何額外的輔助,算法所需要的輔助空間不隨着問題的規模而變化,是一個確定的值。

13.從邏輯上可以把數據結構分為(    )。

 

 

 

  • A、順序結構
  • B、線性結構
  • C、鏈式結構
  • D、非線性結構

BD

14.算法的基本特征有(    )。

 

 

 

  • A、有窮性
  • B、確定性
  • C、可行性
  • D、輸入和輸出

ABCD

15.關於如下描述,正確的是(   )。

void  xyz( int a, int b, int &c ) {

       if ( a < c ) c =a;

       if ( b < c ) c= b; 

}

 

 

 

  • A、函數xyz是一個算法。
  • B、函數xyz的功能是計算a,b,c的最小值,並將最小值通過參數c返回。
  • C、函數xyz的功能是計算a,b,c的最大值,並將最大值通過參數c返回。
  • D、若整型變量i,j,k的初值分別為 10 20 30,則調用函數 xyz(i,j,k)后i,j,k的值為 10 20 10。

ABD  這個函數是有窮的,有確定性,可行性,輸入和輸出,是一個算法。易得這個函數的功能是找到a,b,c中的最小值。D選項先10與30比較,可以得c=10,然后c與20比較,保持不變,所以i,j,k的值為:10,20,10

16,通常,設計一個好的算法,應該考慮達到的目標有(         )。

 

 

  • A、正確性
  • B、可讀性
  • C、健壯性
  • D、效率與低存儲量

ABCD

17.數據元素是數據的基本單位。

T

18.數據項是數據不可分割的最小單位

T

19.數據的邏輯結構是指數據的各數據項之間的邏輯關系

F  數據的邏輯結構是數據元素間關系的描述。

20.算法運行所需的存儲空間資源的量稱為空間復雜度。

T

21.算法可以用不同的語言描述,如果用C 語言或C++語言等高級語言來描述,則算法就是程序了

T

22.程序一定是算法

F  程序不一定是算法,要滿足有窮性,確定性,可行性,輸入和輸出

23.數據的存儲(物理)結構是指數據在計算機內的存儲形式。

T

24.數據的邏輯結構說明數據元素之間的邏輯關系,它依賴於計算機的存儲結構.

F  數據的邏輯結構與數據的存儲無關

25.數據操作的定義與具體實現有關

F  

26.抽象數據類型的定義僅取決於它的一組邏輯特性,而與在計算機內部如何表示和實現無關,即不論其內部結構如何變化,只要它的數學特性不變,都不影響其外部使用。

T

27.順序存儲方式的優點是存儲密度大,且插入、刪除運算效率高

F  順序存儲方式的優點是:存儲密度大,缺點是插入、刪除運算效率低

 

 

 

 

 


免責聲明!

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



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