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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

数据结构判断题

發(fā)布時(shí)間:2023/12/4 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据结构判断题 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.將N個(gè)數(shù)據(jù)按照從小到大順序組織存放在一個(gè)單向鏈表中。如果采用二分查找,那么查找的平均時(shí)間復(fù)雜度是O(logN)。
F
解析:
二分查找的平均復(fù)雜度是O(logN)沒(méi)有錯(cuò),一看到這個(gè)就跳坑了。然后知道陷阱來(lái)了!按順序存放在單項(xiàng)鏈表中。二分查找是不可以用鏈表存儲(chǔ)的:
這是由鏈表的特性決定的。鏈表是很典型的順序存取結(jié)構(gòu),數(shù)據(jù)在鏈表中的位置只能通過(guò)從頭到尾的順序檢索得到,即使是有序的,要操作其中的某個(gè)數(shù)據(jù)也必須從頭開(kāi)始
這和數(shù)組有本質(zhì)的不同。數(shù)組中的元素是通過(guò)下標(biāo)來(lái)確定的,只要你知道了下標(biāo),就可以直接存儲(chǔ)整個(gè)元素,比如a[5],是直接的。鏈表沒(méi)有這個(gè),所以,折半查找只能在數(shù)組上進(jìn)行

2. 在單鏈表中,要訪問(wèn)某個(gè)結(jié)點(diǎn),只要知道該結(jié)點(diǎn)的指針即可。因此,單鏈表是一種隨機(jī)存取結(jié)構(gòu)。
F
解析:
線性表分(順序存儲(chǔ)和鏈?zhǔn)酱鎯?chǔ))
順序存儲(chǔ)即數(shù)組,我們使用數(shù)組的時(shí)候申請(qǐng)的是連續(xù)的內(nèi)存空間可以直接讀取的,a[24],a[25]
鏈?zhǔn)酱鎯?chǔ)即鏈表,鏈表中單個(gè)節(jié)點(diǎn)的內(nèi)存地址不是連續(xù)的,而是散列在計(jì)算機(jī)中,通過(guò)next指針訪問(wèn)下一個(gè)節(jié)點(diǎn),所以所必須遍歷鏈表才能讀取數(shù)據(jù)!
總結(jié):
順序表:順序存儲(chǔ),隨機(jī)讀取
鏈?zhǔn)?隨機(jī)存儲(chǔ),順序讀取(必須遍歷)

3. 取線性表的第i個(gè)元素的時(shí)間同i的大小有關(guān)。
F
解析:
線性表分順序表鏈表
順序表最主要的特點(diǎn)是隨機(jī)訪問(wèn),即通過(guò)首地址和元素序號(hào)可以在O(1)的時(shí)間內(nèi)找到指定的元素
線性表因?yàn)槭前葱蛱?hào)直接取值,所以沒(méi)有關(guān)系,但如果是鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)就有關(guān)系

4.在具有頭結(jié)點(diǎn)的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中,頭指針指向鏈表中的第一個(gè)元素結(jié)點(diǎn)。F
解析:
頭指針 指示鏈表中第一個(gè)結(jié)點(diǎn)(即第一個(gè)數(shù)據(jù)元素的存儲(chǔ)映像)的存儲(chǔ)位置。同時(shí),由于最后一個(gè)數(shù)據(jù)元素沒(méi)有直接后繼,則線性鏈表中最后一個(gè)結(jié)點(diǎn)的指針為“空”(NULL)。
有時(shí)在單鏈表的第一個(gè)結(jié)點(diǎn)之前附設(shè)一個(gè)結(jié)點(diǎn),稱之為頭結(jié)點(diǎn) 。 頭結(jié)點(diǎn)的數(shù)據(jù)域可以不存儲(chǔ)任何信息,也可以存儲(chǔ)如線性表長(zhǎng)度等類的附加信息,頭結(jié)點(diǎn)的指針域存儲(chǔ)指向第一個(gè)結(jié)點(diǎn)的指針(即第一個(gè)元素結(jié)點(diǎn)的存儲(chǔ)位置)。單鏈表的頭指針指向頭結(jié)點(diǎn)。若線性表為空,則頭結(jié)點(diǎn)的指針域?yàn)椤翱铡薄?/p>

有頭結(jié)點(diǎn)的鏈表結(jié)構(gòu)中,頭指針指向鏈表的頭結(jié)點(diǎn),因?yàn)閱捂湵聿痪哂谢厮菪?#xff0c;即通過(guò)指針指向的節(jié)點(diǎn)不能找到該節(jié)點(diǎn)的前一個(gè)節(jié)點(diǎn),只能找到后面的節(jié)點(diǎn)。

目的是便于鏈表的操作;比如刪除第一個(gè)數(shù)據(jù)節(jié)點(diǎn)時(shí),讓頭結(jié)點(diǎn)的指針域指向第二個(gè)數(shù)據(jù)節(jié)點(diǎn)即可。如果頭指針指向的是第一個(gè)數(shù)據(jù)節(jié)點(diǎn),那么通過(guò)此指針不能找到前一個(gè)節(jié)點(diǎn),也就不能實(shí)現(xiàn)刪除。

5.在一個(gè)設(shè)有頭指針和尾指針的單鏈表中,執(zhí)行刪除該單鏈表中最后一個(gè)元素的操作與鏈表的長(zhǎng)度無(wú)關(guān)F
解析:
必須要遍歷到倒數(shù)第二個(gè)元素把它設(shè)為尾部(鏈表不是雙向鏈表)

6.在用數(shù)組表示的循環(huán)隊(duì)列中,front值一定小于等于rear值。F
解析:
rear在對(duì)max取余之后會(huì)從零開(kāi)始,但這時(shí)front并不是零。所以會(huì)出現(xiàn)front>rear,( >,=,<三種情況都有可能出現(xiàn))
(可以這樣理解:因?yàn)槭茄h(huán)的,所以可能rear由大變小,畫個(gè)圖就知道了。)

7.若采用“隊(duì)首指針和隊(duì)尾指針的值相等”作為環(huán)形隊(duì)列為空的標(biāo)志,則在設(shè)置一個(gè)空隊(duì)時(shí)只需將隊(duì)首指針和隊(duì)尾指針賦同一個(gè)值,不管什么值都可以。T
解析:
判斷隊(duì)滿的方式一:犧牲一個(gè)存儲(chǔ)的單元來(lái)區(qū)分空隊(duì)、滿隊(duì)

約定:當(dāng)隊(duì)頭指針在隊(duì)尾指針的下一個(gè)位置時(shí),隊(duì)滿
隊(duì)空:q.frontq.rear
隊(duì)滿:(q.rear+1)%MAXSIZEq.front
隊(duì)列中的元素個(gè)數(shù):(q.rear-q.front+MAXSIZE)%MAXSIZE

8.存在一棵總共有2016個(gè)結(jié)點(diǎn)的二叉樹(shù),其中有16個(gè)結(jié)點(diǎn)只有一個(gè)孩子F
解析:
沒(méi)確定是什么類型的二叉樹(shù)
二叉樹(shù)的類型:
滿二叉樹(shù):除最后一層無(wú)任何子節(jié)點(diǎn)外,每一層上的所有結(jié)點(diǎn)都有兩個(gè)子結(jié)點(diǎn)二叉樹(shù)。
完全二叉樹(shù):一棵二叉樹(shù)至多只有最下面的一層上的結(jié)點(diǎn)的度數(shù)可以小于2,并且最下層上的結(jié)點(diǎn)都集中在該層最左邊的若干位置上,則此二叉樹(shù)成為完全二叉樹(shù)
平衡二叉樹(shù):它是一 棵空樹(shù)或它的左右兩個(gè)子樹(shù)的高度差的絕對(duì)值不超過(guò)1,并且左右兩個(gè)子樹(shù)都是一棵平衡二叉樹(shù)

9.具有10個(gè)葉結(jié)點(diǎn)的二叉樹(shù)中,有9個(gè)度為2的結(jié)點(diǎn)。T
解析:
度為0的節(jié)點(diǎn)稱為葉節(jié)點(diǎn)
葉結(jié)點(diǎn)個(gè)數(shù)=度為2的結(jié)點(diǎn)個(gè)數(shù)+1

一棵深度為k,且有(2^k) -1個(gè)結(jié)點(diǎn)的二叉樹(shù)。這種樹(shù)的特點(diǎn)是每一層上的結(jié)點(diǎn)數(shù)都是最大結(jié)點(diǎn)數(shù)(2)。而在一棵二叉樹(shù)中,除最后一層外,若其余層都是滿的,并且或者最后一層是滿的,或者是在右邊缺少連續(xù)若干結(jié)點(diǎn),則此二叉樹(shù)為完全二叉樹(shù)

具有n個(gè)節(jié)點(diǎn)的完全二叉樹(shù)的深度為floor(log2n)+1。深度為k的完全二叉樹(shù),至少有2k-1個(gè)葉子節(jié)點(diǎn),至多有2k-1個(gè)節(jié)點(diǎn)

10.在含有n個(gè)結(jié)點(diǎn)的樹(shù)中,邊數(shù)只能是n-1條。T
解析:
樹(shù)中是不存在環(huán)的,對(duì)于有N個(gè)節(jié)點(diǎn)的樹(shù),必定是N-1條邊 。

11.完全二叉樹(shù)中,若一個(gè)結(jié)點(diǎn)沒(méi)有左孩子,則它必是樹(shù)葉。T
解析:
根據(jù)第9題中完全二叉樹(shù)的定義可知:
完全二叉樹(shù)如果沒(méi)有左結(jié)點(diǎn),則一定沒(méi)有右結(jié)點(diǎn),即沒(méi)有左孩子,它就一定是樹(shù)葉

12.一棵有n個(gè)結(jié)點(diǎn)的二叉樹(shù),從上至下,從左到右用自然數(shù)依次編號(hào),則編號(hào)為i的結(jié)點(diǎn)的左兒子的編號(hào)為2i(2i<n),右兒子的編號(hào)是2i+1(2i+1<n)。F

13.一棵有124個(gè)結(jié)點(diǎn)的完全二叉樹(shù),其葉結(jié)點(diǎn)個(gè)數(shù)是確定的。T
解析:
一棵124個(gè)葉結(jié)點(diǎn)的完全二叉樹(shù),假設(shè)n0為葉子結(jié)點(diǎn)數(shù),n1為度為1結(jié)點(diǎn)數(shù),n2為度為2結(jié)點(diǎn)數(shù),則有總結(jié)點(diǎn)數(shù)為n0+n1+n2;而n2=n0-1=123;且完全二叉樹(shù)中度為1的結(jié)點(diǎn)只能為一個(gè)或0個(gè),所以總結(jié)點(diǎn)數(shù)為124+1+123=248個(gè)

14.非空的二叉樹(shù)一定滿足:某結(jié)點(diǎn)若有左孩子,則其中序前驅(qū)一定沒(méi)有右孩子T
解析:
所謂中序遍歷就是左子樹(shù)、根、右子樹(shù) 設(shè)某結(jié)點(diǎn)為A,它的中序前驅(qū)是B 按照正常中序遍歷的次序中,如果B有右子樹(shù),則B遍歷完了后會(huì)遍歷其右子樹(shù),而不是馬上遍歷A,但是現(xiàn)在是B遍歷完了就是A,因此: 某結(jié)點(diǎn)如果有左孩子,則其中序前驅(qū)一定沒(méi)有右孩子

15.在有N個(gè)元素的最大堆中,隨機(jī)訪問(wèn)任意鍵值的操作可以在O(logN)時(shí)間完成F
解析:
堆的左右孩子沒(méi)有固定的順序,無(wú)法像平衡二叉樹(shù)那樣順著找下去。

總結(jié)

以上是生活随笔為你收集整理的数据结构判断题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。