習題總結007

2021-10-04 11:03:14 字數 2826 閱讀 5819

1. 定義了一維 int 型陣列 a[10] 後,下面錯誤的引用是( c  )

a.a[0] = 1;

b.a[0] = 5*2;

c.a[10] = 2;

d.a[1] = a[2] * a[0];

解析:陣列的角標是從0開始的,一維陣列中一共10個元素,所以最後乙個元素的角標應該是9。

2.一維陣列與線性表的區別是(  a  )。

a.前者長度固定,後者長度可變

b.後者長度固定,前者長度可變

c.兩者長度均固定

d.兩者長度均可變

解析:陣列的長度是固定不變的,我們定義多少就是多少。但是陣列是線性表的一種,線性表形式多樣,長度可變。

3.下列哪個查詢方法的平均查詢長度與查詢表中資料元素個數無關?( a )

a.雜湊(雜湊)查詢

b.順序查詢

c.折半查詢

d.b+樹查詢

解析:順序查詢方法和折半查詢方法的平均查詢長度都與元素的個數有關,由於雜湊結構是由事先準備好的雜湊函式關係與處理衝突的方法來確定資料元素在雜湊表中的儲存位置的,因此雜湊表查詢方法的平均查詢長度與元素的個數無關。

4.若已定義: int a=[0,1,2,3,4,5,6,7,8,9],*p=a,i; 其中0≤i≤9,則對a陣列錯誤的引用是( d )

a.a[p-a]

b.*(&a[i])

c.p[i]

d.a[10]

解析:角標最大為9。

a.貪心

b.回溯

c.窮舉

d.分治

e.遞迴

解析:回溯演算法是一種試探法,基本思路是:從一條路往前走,能進則進,不能進則退回來,換一條路再試。這正符合辛棄疾《青玉案》的筆意。

6.迴圈佇列sq的儲存空間是陣列d[m],隊頭、隊尾指標分別是front和rear,則執行出隊後其頭指標front值是( d )

a.front=front+1

b.front=(front+1)%(m-1)

c.front=(front-1)%m

d.front=(front+1)%m

解析:進隊:隊尾指標(rear+1)%m

出隊:對頭指標(front+1)%m

m為陣列容量

7.公司裡面有1001個員工,現在要在公司裡面找到最好的羽毛球選手,也就是第一名,每個人都必須參賽,問至少要比賽多少次才能夠找到最好的羽毛球員工。( b )

a.1001

b.1000

c.500

d.501

解析:兩兩組合,多餘的在單出後加入

1:分成500組,1人空出(500次,淘汰500人)

2:250組,空1人(250次,淘汰250人)

3:125組,空1人(125次,淘汰125人)

4:63組         (63次,淘汰63人)

5:31組,空1人  (31次)

6:16組          (16次)

7:8組           (8次)

8:4組           (4次)

9:2組            (2次)

10:1組            (1次,得出冠軍)

結果:如果是兩兩比賽,次數是:500+250+125+63+31+16+8+4+2+1 = 1000次

如果是場次,次數是:10場比賽

8.哪種資料結構用於執行遞迴呼叫( c  )

a.陣列

b.鍊錶

c.堆疊

d.二叉樹

解析:題目是說用於執行,而不是這種資料結構本身需要遞迴。遞迴的展開和回歸就是棧的特點,即先進後出,最裡層的遞迴後返回。

9.將陣列 var a=[1,2,3] 變成陣列 [4,3,2,1] 下面的方式正確的是?( ac )

a.a.reverse().unshift(4)

b.a.push(4).reverse()

c.a.push(4); a.reverse()

d.a.splice(3,1,4).reverse()

解析:本題需要將陣列a=[1,2,3]變成[1,2,3,4],需要改變原陣列a。

array物件常用方法中:

1、 concat()

2、join()

3、 slice()

4、 tostring()

5、 pop()

6、 push()

7、 reverse()

8、 shift()

9、 sort()

10、 splice()

11、 unshift()

a選項,a.reverse()後返回值即陣列a變成[3,2,1],再使用unshift()方法在陣列開頭新增乙個4,a陣列就變成了[4,3,2,1]。注,unshift()返回新陣列的長度,此處為4。正確。

b選項,push()方法返回新陣列的長度,是乙個number型別,不是陣列,所以不能再用「.」操作符繼續執行reverse()方法。錯誤。

c選項,正確。

d選項,splice()語法:arrayobject.splice(index,howmany,item1,.....,itemx)。

10.在乙個有8個int資料的陣列中,隨機給出陣列的資料,找出最大和第二大元素一定需要進行幾次比較(  b   )

a.8b.9

c.10

d.11

解析:第一次分組8個分成4組,兩兩一組,比4次;第二次分組為上面比較下來的4個,還是兩兩分組,分2組;第三次分組就剩下兩個,直接比較出了最大。這時一共比較了4+2+1=7次。接著拿第三次分組中與最大比較的那個數分別和之前與最大那個數比較過的數比較,分別是第一次分組有乙個,第二次分組有乙個,7+2=9 。

c語言007 常見錯誤總結

輸入double型別的資料的方式是 1 double num scanf lf num scanf s lf num,sizeof double unsigned型別和int型別的進行相加,這時候int unsigned int。總結 乙個負整型和乙個無符號整型進行相加一定是整數。關於指標 char...

資料結構期末總結 Cube007

經過了一學期資料結構的學習,感覺受益很多。無論在知識上還是從教學模式上都將我們帶入了乙個新的領域。首先談一些我們的雲班課模式教學,經過十二年甚至更長時間的學習生涯,我們適應了原先的傳統模式教學,或者說是一種被迫適應。我認為,這也不怪國家,也不怪教育部,更不怪學校,中國從古代就開始因材施教,這種傳統的...

回頭再說 007

肖申克的救贖 現在 imdb 的分數已經是 9.4分高居榜首 1994年,這部電影上映的時候卻沒有在奧斯卡有太好的成績 因為有一部更搶眼的電影幾乎奪走了所有獎項那就是 阿甘正傳 但是隨著時間的推移 肖申克的救贖 又被人提起而且評價越來越高 裡面的台詞也流行成經典 get busy living,or...