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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

数据结构试卷错题详细分析

發布時間:2024/8/1 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据结构试卷错题详细分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

數據結構練習卷錯題收集

快要到數據結構科的期末考試啦,我們老師發了十套模擬練習題(需要的同學可以到我的主頁里面去下載),這一篇博客主要是記錄一下我做這十套試卷的一些錯題,經典題,易錯題還有詳細的分析

  • 設順序循環隊列Q[0:M-1]的頭指針和尾指針分別為F和R,頭指針F總是指向隊頭元素的前一位置,尾指針R總是指向隊尾元素的當前位置,則該循環隊列中的元素個數為( )
    (A) R-F??(B) F-R?? (C) (R-F+M)%M ?? (D) (F-R+M)%M
  • 分析:關于循環隊列知識的補充:設front(F)指向隊列頭,rear?指向隊列尾部:尾進頭出

  • 如何表示循環隊列中現有的元素數量:(R-F+M)%M M表示隊列的最大容量
  • 如何判讀循環隊列的空或者滿?如果F == R那么說明循環隊列是空的,如果(R+1)%M==F說明循環隊列滿了
  • 為什么循環隊列要空出一個位置不能存放數據?因為如果循環隊列里面的每一個位置都存放了數據,那么循環隊列隊列滿和隊列空的判斷情況是一樣的,不能判斷是滿還是空,所以我們得空出一個位置
  • 設有n個待排序的記錄關鍵字,則在堆排序中需要( )個輔助記錄單元。
    (A) 1?? (B) n?? (C)nlog2n ?? (D) n2
  • 分析:堆排序的空間復雜度是1,所以在堆排序中需要1個輔助記錄單元

  • 設某強連通圖中有n個頂點,則該強連通圖中至少有( )條邊。
    (A) n(n-1) ?? (B) n+1?? (C)n ?? (D) n(n+1)
  • 分析:1.強連通圖的定義:在有向圖G中,對于任意兩個頂點Vi和Vj,從Vi到Vj和從Vj到Vi都存在路徑,則稱該有向圖為強連通圖
    那么要使得強連通圖的邊最少,我們得讓這些頂點成環,所以至少得有n條邊

  • 數據的最小單位是( )。
    (A) 數據項 ?? (B) 數據類型?? (C)數據元素 ?? (D) 數據變量
  • 數據的最小單位是數據項

  • 在圖的鄰接表中用順序存儲結構存儲表頭結點的優點是
  • 可以隨機訪問到任一個頂點的簡單鏈表(因為圖用鄰接表存儲的話是有一個存放頂點的結構體數組的,每個頂點后面都跟著一個簡單鏈表:由該頂點所連接的頂點構成)

  • 時間復雜度不受數據初始狀態影響而恒為O(nlogn)的是( )。
    (A) 堆排序 ?? (B) 冒泡排序?? (C)希爾排序?? (D) 快速排序
  • 對于快速排序而言,當數據的初始狀態幾乎有序時它的時間復雜度達到O(n2),但是當數據初始接近反序時它的時間復雜度升至O(nlogn),希爾排序,冒泡排序的時間復雜度不是O(nlogn)(對于希爾排序,它的時間復雜度受到希爾增量的影響),故答案為A

  • 設二叉排序樹上有n個結點,則在二叉排序樹上查找結點的平均時間復雜度為()
    (A) O(n)?? (B) O(n2)?? (C)O(nlogn) ??(D) O(logn)
  • 在二叉排序樹上查找結點相當于折半查找,平均的時間復雜度為O(logn)
    但是最壞的情況,由于排序二叉樹可能是不平衡的,最壞的情況便退化為了單鏈表,查找的時間復雜度為O(n)

  • 設一棵二叉樹的先序序列和后序序列,則能夠唯一確定出該二叉樹的形狀。( )
  • ×:已知二叉樹的先序遍歷和后序遍歷序列并不能唯一確定一顆二叉樹,而如果是已知另外的組合卻是可以的

  • 設一棵樹T可以轉化成二叉樹BT,則二叉樹BT中一定沒有右子樹。( )
  • :樹轉化為二叉樹的流程:先在樹的每層的兄弟之間加一條線,然后去線:只保留父結點與第一個孩子的連線以及剛剛我們所加的那些線,然后,把第一個孩子放在左子樹,第一個孩子的兄弟全部放在第一個孩子的左子樹,所以新的BT沒有右子樹

  • 建立一個長度為n的有序單鏈表的時間復雜度為( )
    (A) O(n) ?? (B)O(1) ?? (C) O(n2) ?? (D) O(logn)
  • 對于單鏈表而言,單鏈表的創建是一次一次地插入新結點的,那么要想構造有序的單鏈表,每次插入新的元素都要進行比較,找它的位置,而不幸的是,對于單鏈表只能用直接插入等o(n2) 級的排序算法來實現排序,所以時間復雜度為O(n2)

  • 不論線性表采用順序存儲結構還是鏈式存儲結構,刪除值為X的結點的時間復雜度均為O(n)。( )
  • √:首先我們來看順序存儲結構:找到值為X的結點所用的時間為O(1),但是刪除這個結點需要移動元素,時間復雜度為O(n),所以用順序存儲結構刪除值為X的結點的時間復雜度為O(n)
    我們再看看鏈式存儲結構:找到值為X的結點要遍歷整個鏈表,時間復雜度為O(n),但是刪除這個結點稍稍改變指針的連接,時間復雜度為O(1),所以鏈式存儲結構刪除值為X的結點的時間復雜度為O(n)

    12.設有一組初始關鍵字序列為(24,35,12,27,18,26),則第3趟直接插入排序結束后的結果的是__________________________________。

    12,24,35,27,18,26(24自己插入排序算一趟了)

  • 設順序表的長度為n,則順序查找的平均比較次數為()
    (A) n ?? (B) n/2 ?? (C)(n+1)/2 ?? (D) (n-1)/2
  • 我要計算平均比較次數,我們先來計算總的比較次數:順序查找時,若第一個即為待查找元素,則查找次數為1,若第二個是待查找元素,則查找次數為2,等等。 所以查找次數是:1+2+3+4+5+…+n=(1+n)*n/2次,而每個元素是待查找數的概率是相等的,為1/n,那么平均查找次數就是總查找次數乘以每個元素是待查找元素的概率,即(n+1)/2次。

  • 順序表查找指的是在順序存儲結構上進行查找。( )
  • ×:順序表查找是指從第一個元素開始查找一直到最后一個元素為止,所以它在鏈表上也可以進行

  • 設某鏈表中最常用的操作是在鏈表的尾部插入或刪除元素,則選用下列( )存儲方式最節省運算時間()
    (A) 單向鏈表 ?? (B)單向循環鏈表
    (C)雙向鏈表 ?? (D) 雙向循環鏈表
  • 分析:我們題目要求是在尾部插入或者刪除,如果我們使用的是單向鏈表或者單向循環鏈表,我們找到尾結點都需要遍歷整個鏈表,使用單向循環鏈表也是要跑一圈才能找到尾結點的,所以雙向循環鏈表可以立刻找到尾結點,同時,雙向鏈表的特性也使得雙向循環鏈表的插入和刪除變得快速,故D正確

  • 設無向圖G中有n個頂點e條邊,則用鄰接矩陣作為圖的存儲結構進行深度優先或廣度優先遍歷時的時間復雜度為_________;用鄰接表作為圖的存儲結構進行深度優先或廣度優先遍歷的時間復雜度為_________。
  • O(n2),O(n+e)

  • 下列四種排序中( )的空間復雜度最大
    (A) 快速排序?? (B) 冒泡排序?? (C) 希爾排序?? (D) 堆
  • 各類排序算法空間復雜度與時間復雜度:
    空間復雜度:直接插入排序 折半插入排序 希爾排序 冒泡排序 簡單選擇排序 堆排序為O(1)
    ????????????快速排序為O(logn)
    ????????????歸并排序為O(n)
    ????????????基數排序為O(n+rd)
    ?
    時間復雜度:直接插入排序 希爾排序 冒泡排序 簡單選擇排序為O(n2)
    ????????????快速排序 歸并排序為O(nlogn)
    ????????????希爾排序:時間復雜度隨希爾變量的取值的不同而不同
    ?
    穩定的排序算法:冒泡排序,插入排序,歸并排序,基數排序
    不穩定的排序算法:快速排序,堆排序,選擇排序,希爾排序

    補充:算法穩定性的概念:假定在待排序的記錄序列中,存在多個具有相同的關鍵字的記錄,若經過排序,這些記錄的相對次序保持不變,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,則稱這種排序算法是穩定的;否則稱為不穩定的。

  • 通常從四個方面評價算法的質量:_________、_________、_________和 _________
  • 分析:正確性,易讀性,強壯性,效率性

  • 正確性:算法應當滿足具體問題的需求。
  • 易讀性:算法主要是為了人的閱讀與交流,其次才是機器執行。可讀性好有助于人對算法的理解
  • 強壯性:當輸入數據非法時,算法也能適當地做出反應或進行處理,而不會產生莫明其妙的輸出結果
  • 效率性:效率指的是算法執行時間。對于同一個問題如果有多個算法可以解決,執行時間短的算法效率高
  • 在一個具有n個頂點的無向完全圖中,包含有 ________ 條邊,在一個具有n個頂點的有向完全圖中,包含有________條邊
  • n個頂點的無向完全圖有n(n-1)/2條邊,n的頂點的有向完全圖中有n(n-1)條邊

  • 已知二叉樹的前序遍歷序列是AEFBGCDHIKJ,中序遍歷序列是EFAGBCHKIJD,畫出此二叉樹
  • 大家可以參考這篇文章:
    換原二叉樹超好用辦法的詳細分析

  • 帶權無向圖的最小生成樹是唯一的。( )
  • ×:如果帶權無向圖中連接同一個點相同權值的邊不止一條的時候,最小生成樹不唯一

  • 設連通圖G中有n個頂點e條邊,則對應的最小生成樹上有___________條邊
  • n-1條邊

    好啦,終于結束了錯題的收集和分析過程啦,回頭看看自己好像也做錯了不少題,但是對錯題的理解與反思對自己是有很大幫助的,也希望這篇博文能帶給大家一些幫助!(明天要考數據結構啦,希望能考出自己理想的成績!?)

    總結

    以上是生活随笔為你收集整理的数据结构试卷错题详细分析的全部內容,希望文章能夠幫你解決所遇到的問題。

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