日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数据结构习题练习(一)-绪论

發布時間:2023/12/16 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据结构习题练习(一)-绪论 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章首發及后續更新:https://mwhls.top/941.html
新的更新內容請到mwhls.top查看。
無圖/格式錯誤請到上方的文章首發頁面查看。

數據結構習題練習目錄
參考:數據結構實驗與習題

答案是參考書給的,有疑問我的我會備注一下。
分析都是個人觀點,但都是我確定的,
不過有些可能會因為我頭發長見識短不知道的,麻煩評論提醒一下。

排版很擠,但我寫的時候有空行,WordPress不顯示沒辦法,
先用斜體區分一下,我后面想辦法處理。
加上句號來占位換行了。

選擇題

  • 數據結構是一門研究非數值計算的程序設計問題中計算機的①以及它們之間的②和運算等的學科。
    ① A.操作對象 B.計算方法 C.邏輯存儲 D.數據映象
    ② A.結構 B.關系 C.運算 D.算法
  • 數據結構被形式地定義為(K,R),其中 K 是①的有限集合,R 是 K 上的②有限集合。
    ① A.算法 B.數據元素 C.數據操作 D.邏輯結構
    ② A.操作 B.映象 C.存儲 D.關系
  • 在數據結構中,從邏輯上可以把數據結構分成①。
    A.動態結構和靜態結構 B.緊湊結構和非緊湊結構
    C.線性結構和非線性結構 D.內部結構和外部結構
  • 線性表的順序存儲結構是一種①的存儲結構,線性表的鏈式存儲結構是一種②的存儲結構。
    A.隨機存取 B.順序存取 C.索引存取 D.散列存取
  • 算法分析的目的是①,算法分析的兩個主要方面是②。
    ① A. 找出數據結構的合理性 B. 研究算法中的輸入和輸出的關系
    C. 分析算法的效率以求改進 D. 分析算法的易懂性和文檔性
    ② A. 空間復雜性和時間復雜性 B. 正確性和簡明性
    C. 可讀性和文檔性 D. 數據復雜性和程序復雜性
  • 計算機算法指的是①,它必具備輸入、輸出和②等五個特性。
    ① A. 計算方法 B. 排序方法
    C. 解決問題的有限運算序列 D. 調度方法
    ② A. 可行性、可移植性和可擴充性 B. 可行性、確定性和有窮性
    C. 確定性、有窮性和穩定性 D. 易讀性、穩定性和安全性
  • 線性表的邏輯順序與存儲順序總是一致的,這種說法①。
    A. 正確 B. 不正確
  • 線性表若采用鏈式存儲結構時,要求內存中可用存儲單元的地址①。
    A. 必須是連續的 B. 部分地址必須是連續的
    C. 一定是不連續的 D. 連續或不連續都可以
  • 在以下的敘述中,正確的是①。
    A. 線性表的線性存儲結構優于鏈表存儲結構
    B. 二維數組是其數據元素為線性表的線性表
    C. 棧的操作方式是先進先出
    D. 隊列的操作方式和先進后出
  • 每種數據結構都具備三個基本運算:插入、刪除和查找,這種說法①。
    A. 正確 B. 不正確
  • 填空題

  • 數據邏輯結構包括①、②和③三種類型,樹形結構和圖形結構合稱為④。
  • 在線性結構中,第一個結點①前驅結點,其余每個結點有且只有②個前驅結點;最后一個結點③后續結點,其余每個結點有且只有④個后續結點。
  • 在樹形結構中,樹根結點沒有①結點,其余每個結點有且只有②個前驅結點,葉子結點沒有③結點,其余每個結點的后續結點可以④。
  • 在圖形結構中,每個結點的前驅結點數和后續結點數可以①。
  • 線性結構中元素之間存在①關系,樹形結構中元素之間存在②關系,圖形結構中元素
    之間存在③關系。
  • 算法的五個重要特性是_ ___。
  • 下面程序段的時間復雜度是①。
    for (i=0;i<n;i++)
    for (j=0;j<m;j++)
    A[i][j]=0;
  • 下面程序段的時間復雜度是①。
    i=s=0;
    while (s<n)
    { i++; /i=i+1/
    s+=i; /s=s+1/
    }
  • 下面程序段的時間復雜度是①。
    s=0;
    for (i=0;i<n;i++)
    for (j=0;j<n;j++)
    s+=B[i][j];
    sum=s;
  • 下面程序段的時間復雜度是①。
    i=1;
    while (i<=n)
    i=i*3;
  • 程序設計題

  • 試寫一算法,自大到小依次輸出順序讀入的三個數 X,Y 和 Z 的值.

  • 選擇題分析

  • 數據結構是一門研究非數值計算的程序設計問題中計算機的①以及它們之間的②和運算等的學科。
    A.操作對象 B.計算方法 C.邏輯存儲 D.數據映象
    ② A.結構 B.關系 C.運算 D.算法
    這題屬于死記硬背的東西,我也想不出解釋的東西。
    .
  • 數據結構被形式地定義為(K,R),其中 K 是①的有限集合,R 是 K 上的②有限集合。
    ① A.算法 B.數據元素 C.數據操作 D.邏輯結構
    ② A.操作 B.映象 C.存儲 D.關系
    同上,記下來吧*2。
    .
  • 在數據結構中,從邏輯上可以把數據結構分成①。
    A.動態結構和靜態結構 B.緊湊結構和非緊湊結構
    C.線性結構和非線性結構 D.內部結構和外部結構
    同上,記下來吧*3。
    線性結構大概就是各結點最多只有一個直接前驅和直接后繼,
    非線性結構當然就是想多少前驅后繼就多少咯。
    .
  • 線性表的順序存儲結構是一種①的存儲結構,線性表的鏈式存儲結構是一種②的存儲結構。
    A.隨機存取 B.順序存取 C.索引存取 D.散列存取
    答案為AB
    隨機存取表示能直接存取某位置的元素,大概就是知道了數組名,就能直接存取任一位置數據,
    順序存取跟它相反,像線性鏈表,知道頭結點后還需要一個個讀取才能找到特定位置。
    線性表的順序存儲結構就是數組,鏈式存儲結構就是線性鏈表。
    .
  • 算法分析的目的是①,算法分析的兩個主要方面是②。
    ① A. 找出數據結構的合理性 B. 研究算法中的輸入和輸出的關系
    C. 分析算法的效率以求改進 D. 分析算法的易懂性和文檔性
    A. 空間復雜性和時間復雜性 B. 正確性和簡明性
    C. 可讀性和文檔性 D. 數據復雜性和程序復雜性
    首先可以肯定的是,算法兩個重要特征就是空間復雜度和時間復雜度,所以2大概率是A,
    那么由2推1,就是要改進效率了。
    .
  • 計算機算法指的是①,它必具備輸入、輸出和②等五個特性。
    ① A. 計算方法 B. 排序方法
    C. 解決問題的有限運算序列 D. 調度方法
    ② A. 可行性、可移植性和可擴充性 B. 可行性、確定性和有窮性
    C. 確定性、有窮性和穩定性 D. 易讀性、穩定性和安全性
    這個題也是死記硬背的內容,
    不過也很好記,每個特性的意義看一下,就能記下來了,
    目的都是維護算法正確性的。
    .
  • 線性表的邏輯順序與存儲順序總是一致的,這種說法①。
    A. 正確 B. 不正確
    線性表的數組存儲,邏輯和存儲順序是一樣的,因為數組存儲在一段連續的內存空間中,
    但鏈表存儲,存儲順序就不連續了,內存里面到處都是。
    .
  • 線性表若采用鏈式存儲結構時,要求內存中可用存儲單元的地址①。
    A. 必須是連續的 B. 部分地址必須是連續的
    C. 一定是不連續的 D. 連續或不連續都可以
    鏈式存儲對地址沒有要求,只要有地址就行了,要是就兩個結點,多存儲幾次,總能碰到連續的是吧。
    .
  • 在以下的敘述中,正確的是①。
    A. 線性表的線性存儲結構優于鏈表存儲結構
    B. 二維數組是其數據元素為線性表的線性表
    C. 棧的操作方式是先進先出
    D. 隊列的操作方式和先進后出
    數組是線性表,那么一維數組和二維數組都是線性表,
    二維數組里面每個元素都是一維數組,
    那么二維數組就是線性表的線性表了。
    .
  • 每種數據結構都具備三個基本運算:插入、刪除和查找,這種說法①。
    A. 正確 B. 不正確
    例如C語言的二維數組,行列長度都是相等的,不能插入刪除某個位置。
  • 填空題分析

  • 數據邏輯結構包括①線性結構、②樹形結構和③圖形結構三種類型,樹形結構和圖形結構合稱為④非線性結構。
    線性結構前面講過了,就是前驅后繼最多一個,
    樹形結構就是前驅最多一個,后繼隨便,
    圖形結構就是前驅隨便,后繼也隨便,
    大概也是死記硬背的題目吧。
    .
  • 在線性結構中,第一個結點①沒有 前驅結點,其余每個結點有且只有②一 個前驅結點;最后一個結點③沒有 后續結點,其余每個結點有且只有④一 個后續結點。
    送分題,只要隨便找一個線性結構舉例就行了,像鏈表,棧,隊列都是。
    .
  • 在樹形結構中,樹根結點沒有①前驅結點,其余每個結點有且只有②一個前驅結點,葉子結點沒有③后繼結點,其余每個結點的后續結點可以④任意多個。
    這題得扣字眼,題中有前驅和后續(我更習慣后繼)的字眼,
    那么1就填前驅,3就后繼,
    2 4就是把樹拿出來看看就明白了。
    我覺得難點在4,看了答案我才明白它說的還是數量,不過這也能根據前文推出。
    .
  • 在圖形結構中,每個結點的前驅結點數和后續結點數可以①任意多個。
    把圖拿出來看看就明白了,
    這題有說結點,比上題更親民一點。
    .
  • 線性結構中元素之間存在①一對一關系,樹形結構中元素之間存在②一對多關系,圖形結構中元素之間存在③多對多關系。
    我討厭這種題目,我還以為是前后、父子、平等這種關系,可惡。
    就是三種結構的定義。
    .
  • 算法的五個重要特性是輸入、輸出、確定性、有窮性、可行性。
    這是死記硬背的地方了,我最討厭的就是這種。
    .
  • 下面程序段的時間復雜度是①O(n*m)
    for (i=0;i<n;i++)
    for (j=0;j<m;j++)
    A[i][j]=0;
    這是兩層循環,還是定長循環,里面的賦值語句時間復雜度為O(1),因此就是兩層的乘積。
    .
  • 下面程序段的時間復雜度是①O(n1/2)
    i=s=0;
    while (s<n)
    { i++; /i=i+1/
    s+=i; /s=s+1/
    }
    題目錯了,s+=i與s=s+1不等效,應該是注釋錯了。
    這題我也不清楚,我還以為是O(n)。
    .
  • 下面程序段的時間復雜度是①O(n2)。
    s=0;
    for (i=0;i<n;i++)
    for (j=0;j<n;j++)
    s+=B[i][j];
    sum=s;
    和第7題一樣。
    .
  • 下面程序段的時間復雜度是①O(log3n)。
    i=1;
    while (i<=n)
    i=i*3;
    就是i3 = n,那么i = log3n,是個數學問題。
  • 程序設計題分析

  • 試寫一算法,自大到小依次輸出順序讀入的三個數 X,Y 和 Z 的值.
    本來想寫點厲害的,腦子好像有點空,寫出來除了難看懂沒有特別的,就無腦輸出了。
  • // 三個數以三個參數的形式傳入函數 void printOrder(int x, int y, int z){if(x<=y && x<=z){if(y > z)printf("%d, %d, %d", y, z, x);elseprintf("%d, %d, %d", z, y, x);}else if(x<=y && x>=z)printf("%d, %d, %d", y, x, z);else if(x>=y && x>=z){if(y>z)printf("%d, %d, %d", x, y, z);elseprintf("%d, %d, %d", x, z, y);}else if(x>=y && x<=z)printf("%d, %d, %d", z, x, y); }

    總結

    以上是生活随笔為你收集整理的数据结构习题练习(一)-绪论的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。