數(shù)據(jù)結(jié)構(gòu) 試題

前言

這里是 數(shù)據(jù)結(jié)構(gòu) 系列文章,主要介紹計(jì)算機(jī)二級(jí)考試中的涉及到數(shù)據(jù)結(jié)構(gòu)的知識(shí)點(diǎn) /
數(shù)據(jù)結(jié)構(gòu)在計(jì)算機(jī)科學(xué)中處處都有存在,例如編譯系統(tǒng)要使用棧、散列表、語法樹等;操作系統(tǒng)要使用隊(duì)列、存儲(chǔ)管理表、目錄樹等等。

關(guān)于作者:

  • 小白(Libra),計(jì)算機(jī)興趣愛好者,Java,C,Hadoop,MySQL
  • Email : hewei20031009@163.com
  • GitHub : https://github.com/Regel-zack

轉(zhuǎn)載請(qǐng)注明出處

題目

  1. 冒泡排序在最壞情況下的比較次數(shù)是

    • n(n+1)/2
    • nlogn
    • n(n-1)/2
    • n/2
  2. 某二叉樹有5個(gè)度為2的節(jié)點(diǎn),則該二叉樹中的葉子節(jié)點(diǎn)數(shù)是

    • 10
    • 8
    • 6
    • 4
  3. 對(duì)于循環(huán)隊(duì)列,下列敘述中正確的是

    • 隊(duì)頭指針是固定不變的
    • 隊(duì)頭指針一定大于隊(duì)尾指針
    • 隊(duì)頭指針一定小于隊(duì)尾指針
    • 隊(duì)頭指針可以大于隊(duì)尾指針,也可以小于隊(duì)尾指針
  4. 某二叉樹中有n個(gè)度為2的結(jié)點(diǎn),則該二叉樹中的葉子節(jié)點(diǎn)數(shù)為

    • n+1
    • n-1
    • 2n
    • n/2
  5. 支持子程序調(diào)用的數(shù)據(jù)結(jié)構(gòu)是
    • 隊(duì)列
    • 二叉樹

解析

    • 冒泡排序法是一種最簡(jiǎn)單的交換類排序方法,它是通過相鄰數(shù)據(jù)元素的交換逐步將線性表變成有序。
    • 假設(shè)線性表的長度為n,則在最壞的情況下,冒泡排序需要經(jīng)過n/2遍的從前往后的掃描和n/2遍的從后往前的掃描,需要的比較次數(shù)為n(n-1)/2。
  1. 在任意一顆二叉樹中,度為0的節(jié)點(diǎn),總是比度為2的節(jié)點(diǎn)多一個(gè)。
    • 所謂循環(huán)隊(duì)列,就是將隊(duì)列空間的最后一個(gè)位置繞到第一個(gè)位置,形成邏輯上的環(huán)狀空間,供隊(duì)列循環(huán)使用。
    • 在循環(huán)隊(duì)列中,用隊(duì)尾指針rear指向隊(duì)列中的隊(duì)尾元素,用排頭指針front指向排頭元素的前一個(gè)位置。
    • 循環(huán)隊(duì)列主要有兩種基本運(yùn)算:入隊(duì)運(yùn)算與退隊(duì)運(yùn)算,每進(jìn)行一次入隊(duì)運(yùn)算,隊(duì)尾指針就進(jìn)一。
    • 每進(jìn)行一次退隊(duì)運(yùn)算,排頭指針就進(jìn)一。
    • 當(dāng)rear或front的值等于隊(duì)列的長度+1時(shí),就將rear或front的值置為1。一般情況下,rear大于front,因?yàn)槿腙?duì)的元素肯定比出隊(duì)的元素多。特殊的情況是rear到達(dá)數(shù)組的上限后又從數(shù)組的低端開始,此時(shí),rear是小于front的。
  2. 在任意一顆二叉樹中,度為0的節(jié)點(diǎn),總是比度為2的節(jié)點(diǎn)多一個(gè)。
  3. 棧是一種只能在一端進(jìn)行插入或刪除的線性表。在主程序調(diào)用子程序時(shí),要首先保存主程序當(dāng)前的狀態(tài),然后去執(zhí)行子程序,最終把子程序的執(zhí)行結(jié)果返回到主程序調(diào)用子程序時(shí)的位置,繼續(xù)往下執(zhí)行,這種調(diào)用符合棧的“先進(jìn)后出”的功能。

圖表復(fù)盤

題目數(shù)量錯(cuò)誤數(shù)量錯(cuò)誤率
20525%
20630%
401127.5%

第一行為今日的錯(cuò)誤數(shù)量占比分析 /
第二行開始是前幾日的錯(cuò)誤數(shù)量占比分析 /
最后一行是總的錯(cuò)誤數(shù)量占比分析

今日知識(shí)點(diǎn)分布圖

涉及知識(shí)點(diǎn)出現(xiàn)次數(shù)占比
排序算法120%
二叉樹240%
隊(duì)列120%
120%

總知識(shí)點(diǎn)分布圖

涉及知識(shí)點(diǎn)出現(xiàn)次數(shù)占比
排序算法436%
二叉樹327%
隊(duì)列19%
218%
鏈表19%
算法分析19%

精度取自小數(shù)點(diǎn)后兩位

小結(jié)

分為兩部分。
先看今日的,今日出現(xiàn)最多的是二叉樹,其余各占20%,當(dāng)然了,這跟不了解二叉樹的性質(zhì)有關(guān),而之前一日占比最大的排序算法在今天仍然是錯(cuò)誤了,其主要原因可能因?yàn)椋舜笈判蛩惴ǘ紩?huì)被歸為排序算法中,其范圍大,自然錯(cuò)其中一個(gè)也就會(huì)增加數(shù)量了。
其次是總的,從排名上來看,仍然是排序算法占據(jù)榜首,其次是二叉樹,雖然僅僅只有40道題目的樣本,但大概反映了情況,100道題會(huì)是一個(gè)意義比較大的樣本數(shù)量,期待吧。