國開(河北開放大學(xué))23春《數(shù)據(jù)結(jié)構(gòu)(本)》形考任務(wù)4【資料答案】

可做奧鵬全部院校在線離線作業(yè)畢業(yè)論文QQ:3230981406 微信:aopopenfd777

發(fā)布時(shí)間:2023-02-03 20:43:45來源:admin瀏覽: 0 次

形考作業(yè)4

試卷總分:100  得分:100


一、單項(xiàng)選擇題(每小題2分,共40分)

1.對(duì)線性表進(jìn)行二分查找時(shí),要求線性表必須( )。

A.以順序存儲(chǔ)方式

B.以鏈接存儲(chǔ)方式

C.以順序存儲(chǔ)方式,且數(shù)據(jù)元素有序

D.以鏈接存儲(chǔ)方式,且數(shù)據(jù)元素有序


2.采用順序查找方法查找長度為n的線性表時(shí),每個(gè)元素的平均查找長度為( )。

A.n

B.n/2

C.(n+1)/2

D.(n-1)/2


3.有一個(gè)長度為10的有序表,按折半查找對(duì)該表進(jìn)行查找,在等概率情況下查找成功的平均比較次數(shù)為( )。

A.29/10

B.31/10

C.26/10

D.29/9


4.已知一個(gè)有序表為{11,22,33,44,55,66,77,88,99},則順序查找元素55需要比較( )次。

A.3

B.4

C.5

D.6


5.有數(shù)據(jù){53,30,37,12,45,24,96},從空二叉樹開始逐個(gè)插入數(shù)據(jù)來形成二叉排序樹,若希望高度最小,應(yīng)該選擇的序列是( )。

A.45,24,53,12,37,96,30

B.37,24,12,30,53,45,96

C.12,24,30,37,45,53,96

D.30,24,12,37,45,96,53


6.對(duì)于順序存儲(chǔ)的有序表{5,12,20,26,37,42,46,50,64},若采用折半查找,則查找元素26的比較次數(shù)是( )。

A.3

B.6

C.4

D.5


7.在所有的排序方法中,關(guān)鍵字比較的次數(shù)與記錄初始排列秩序無關(guān)的是( )。

A.冒泡排序

B.希爾排序

C.直接選擇排序

D.直接插入排序


8.從未排序序列中依次取出元素與已經(jīng)排好序的序列中的元素作比較。將其放入已排序序列的正確的位置上,此方法稱為( )。

A.插入排序

B.選擇排序

C.交換排序

D.歸并排序


9.依次將每兩個(gè)相鄰的有序表合并成一個(gè)有序表的排序方法稱為( )。

A.插入排序

B.交換排序

C.選擇排序

D.歸并排序


10.當(dāng)兩個(gè)元素出現(xiàn)逆序的時(shí)候就交換位置,這種排序方法稱為( )。

A.插入排序

B.交換排序

C.選擇排序

D.歸并排序


11.每次把待排序的區(qū)間劃分為左、右兩個(gè)子區(qū)間,其中左區(qū)間中記錄的關(guān)鍵字均小于等于基準(zhǔn)記錄的關(guān)鍵字,右區(qū)間中記錄的關(guān)鍵字均大于等于基準(zhǔn)記錄的關(guān)鍵字,這種排序稱為( )。

A.插入排序

B.快速排序

C.堆排序

D.歸并排序


12.一組記錄的關(guān)鍵字序列為(46,20,30,79,56,38,40,84,90,110),利用快速排序,以第一個(gè)關(guān)鍵字為分割元素,經(jīng)過一次劃分后結(jié)果為( )。

A.40,20,30,38,46,56,79,84,90,110

B.20,30,40,38,46,79,56,84,90,100

C.30,20,40,38,46,84,56,79,90,100

D.20,30 38,40,46,56,79,84,90,100


13.在有序表{10,14,34,43,47,64,75,80,90}中,用折半查找法查找值80時(shí),經(jīng)( )次比較后查找成功。

A.4

B.2

C.3

D.5


14.對(duì)序列(49,38,65,97,76,13,47,50)采用直接插入排序法進(jìn)行排序,要把第七個(gè)元素47插入到已排序中,為尋找插入的合適位置需要進(jìn)行( )次元素間的比較。

A.3

B.4

C.5

D.6



15.排序方法中,從未排序序列中挑選元素,并將其依次放入已排序序列(初始為空)的一端的方法,稱為( )排序。

A.歸并

B.插入

C.選擇

D.快速


16.一組記錄的關(guān)鍵字序列為(26,59,36,18,20,25),利用堆排序的方法建立的初始小根堆為( )。

A.26,18,59,20,36,25

B.18,20,25,59,26,36

C.18,20,36,59,26,25

D.26,59,36,18,20,25


17.一組記錄的關(guān)鍵字序列為(25,48,16,35,79,82,23,40,36,72),其中,含有5個(gè)長度為2的有序表,按歸并排序的方法對(duì)該序列進(jìn)行一趟歸并后的結(jié)果為( )。

A.16,25,35,48,23,40,79,82,36,72

B.16,25,35,48,79,82,23,36,40,72

C.16,25,48,35,79,82,23,36,40,72

D.16,25,35,48,79,23,36,40,82,72


18.已知10個(gè)數(shù)據(jù)元素為(54,28,16,34,73,62,95,60,26,43),對(duì)該數(shù)列從小到大排序,經(jīng)過一趟冒泡排序后的序列為( )。

A.16,28,34,54,73,62,60,26,43,95

B.28,16,34,54,62,73,60,26,43,95

C.28,16,34,54,62,60,73,26,43,95

D.16,28,34,54,62,60,73,26,43,95


19.一組記錄的關(guān)鍵字序列為(46,79,56,38,40,84),利用快速排序,以第一個(gè)關(guān)鍵字為分割元素,經(jīng)過一次劃分后結(jié)果為( )。

A.40,38,46,79,56,84

B.40,38,46,56,79,84

C.40,38,46,84,56,79

D.38,40,46,56,79,84


20.一組記錄的關(guān)鍵字序列為(80,57,41,39,46,47),利用堆排序(堆頂元素是最小元素)的方法建立的初始堆為(   )。

A.39,46,41,57,80,47

B.39,47,46,80,41,57

C.41,39,46,47,57,80

D.39,80,46,47,41,57


二、程序填空題(每題10分,2題,共20分。請(qǐng)點(diǎn)擊正確選項(xiàng),然后拖拽至相應(yīng)的方框上)

21.  以下函數(shù)是二叉排序樹的查找算法,若二叉樹為空,則返回根結(jié)點(diǎn)的指針,否則,返回值是指向樹結(jié)點(diǎn)的結(jié)構(gòu)指針p(查找成功p指向查到的樹結(jié)點(diǎn),不成功p指向?yàn)镹ULL)完成程序中的空格

typedef struct Bnode

{ int key;

struct Bnode *left;

struct Bnode *right;

} Bnode;

Bnode*BSearch(Bnode *bt, int k)

/* bt用于接收二叉排序樹的根結(jié)點(diǎn)的指針,k用以接收要查找的關(guān)鍵字*/

{ Bnode *p;

if(bt==__(1)__)

return (bt);

p=bt;

while(p->key!=__(2)__)

{ if(k<p->key)

__(3)__;

else __(4)__;

if(p==NULL) break;

}

return(__(5)__;

}

(1).選項(xiàng)1

(2).選項(xiàng)2

(3).選項(xiàng)3

(4).選項(xiàng)4

(5).選項(xiàng)5


22.  以下程序是折半插入排序的算法設(shè)待排序的記錄序列存放在a[1],…a[n]中,以a[0]作為輔助工作單元,程序是要把a(bǔ)[i] 插入到已經(jīng)有序的序列a[1],…a[i-1]中。

void binsort (NODE a[ ],int n)

{ int x,i,j,s,k,m;

for (i=2;i<=__(1)__;i++)

{ a[0]=a[i];

x= a[i].key;

s=1;

j=i-1;

while (s<=j)

{ m=__(2)__

if( x<a[m].key)

__(3)__

else

__(4)__

}

for ( k=i-1;k>=j+1;k- -)

__(5)__=a[k];

a[j+1]=a[0];

}

}

(1).選項(xiàng)1


(2).選項(xiàng)2


(3).選項(xiàng)3


(4).選項(xiàng)4


(5).選項(xiàng)5



三、綜合題(每小題8分,共40分)

23. (1)設(shè)查找表為(1,10,11,14,23,27,29,55,68) ,畫出對(duì)上述查找表進(jìn)行折半查找所對(duì)應(yīng)的判定樹,為了成功查找到元素14,需要依次與元素   1    進(jìn)行比較。

A. 23,10,1,14 B.23,29,27,14 C. 23,10,11,14D.23,29,55,14


(2)在等概率條件下,成功查找的平均比較次數(shù)為   2    。

A.24/9 B. 25 /9C.3 D.2.5

(1).__1__


A.A


B.B


C.C


D.D


(2).__2__

A.A

B.B

C.C

D.D


24. (1)一組記錄的關(guān)鍵字序列為(47,80,57,39,41,46),利用堆排序的方法建立的初始堆為   1    (堆頂元素是最小元素,采用樹的形式建堆)。

A. 39,41,57,80,47,46 B.39,41,46,80,47,57

C. 39,47,46,80,41,57 D.39,41,57,80,46,47


(2)輸出堆頂元素后,調(diào)整后的堆為   2    。

A.41,47,46,80,57       B.41,57,46,80,47

C.41,57,80,47,46        D.41,80,46,47,57


(1).__1__


A.A


B.B


C.C


D.D


(2).__2__

A.A

B.B

C.C

D.D


25. (1)對(duì)關(guān)鍵字序列(56,51,71,54,46,106),利用快速排序,以第一個(gè)關(guān)鍵字為分割元素,經(jīng)過一次劃分后結(jié)果為   1    ;

A.46,51,56,54,71,106       B.56,51,54,46,71,106

C.46,51,54,56,71,106 D. 56,51,46,54,71,106


(2)一組記錄的關(guān)鍵字序列為( 60,47,80,57, 39,41,46,30),利用歸并排序的方法,經(jīng)過(2,2)歸并的結(jié)果序列為   2    。.


A.(30,57, 60, 80,47,39,41,46 )    B. (47, 60, 57, 80, 30,39,41,46 )


C.(41, 57, 60, 80, 30,39,47,46 )D. (47, 57, 60, 80, 30,39,41,46 )


(1).__1__


A.A


B.B


C.C


D.D


(2).__2__


A.A


B.B


C.C


D.D


26.  (1)對(duì)關(guān)鍵字序列(36,69,46,28,30,74)采用快速排序,以第一個(gè)關(guān)鍵字為分割元素,經(jīng)過一次劃分后的結(jié)果序列為   1

A.30,28,46,36,69,74     B.28,30,36,46,69,74

C. 28,30,46,36,69,74 D.30,28,36,46,69,74


(2)用冒泡法對(duì)上述序列排序,經(jīng)兩趟冒泡的結(jié)果序列為   2    。

A. 36,28,30,46,69,74 B. 36,46,28,20,69,74

.C. 38,36,30,46,69,74 D.28,36,,30,46,69,74

(1).__1__

A.A

B.B

C.C

D.D


(2).__2__

A.A

B.B

C.C

D.D


27. (1)一組記錄的關(guān)鍵字序列為{45,40,65,43,35,95}寫出利用快速排序的方法,以第一個(gè)記錄為基準(zhǔn)得到的一趟劃分的結(jié)果為   1    ;

A. 35 40 65 45 35 95

B. 35 40 65 43 45 95

C. 35 40 43 45 65 95

D. 35 40 45 43 65 95


(2)對(duì)上述序列 利用直接插入排序,逐次插入過程中,共進(jìn)行了   2    次元素間的比較。


A.8B.11C.9D.10

(1).__1__

A.A

B.B

C.C

D.D

(2).__2__

A.A

B.B

C.C

D.D




奧鵬,國開,廣開,電大在線,各省平臺(tái),新疆一體化等平臺(tái)學(xué)習(xí)
詳情請(qǐng)咨詢QQ : 3230981406或微信:aopopenfd777

作業(yè)咨詢 論文咨詢
微信客服掃一掃

回到頂部