每日一道演算法題

2021-08-08 21:03:42 字數 801 閱讀 1252

no.1

若有 18 個元素的有序表存放在一維陣列 a[19] 中,第乙個元素放 a[1] 中,現進行二分查詢,則查詢 a [ 3 ]的比較序列的下標依次為 (      )

a.1,2,3

b.9,5,2,3

c.9,5,3

d.9,4,2,3

答案:d.

第一次查詢,隊首為下標1,隊尾下標18,所以是(1+18)/2=9

第二次查詢,隊首為1,隊尾為9-1=8,所以是(1+8)/2=4

第三次,隊首1,隊尾4-1=3,(1+3)/2=2

第四次,隊首2+1=3,隊尾3,(3+3)/2=3

no.2

線性表採用鏈式位址時,其位址()

a.必須是連續的

b.必須是不連續的

c.部分位址必須是連續的

d.連續與否都可以

答案:d.。

基本概念,送分題。

no.3

將5不同的資料進行交換排序,至多需要比較多少次

a.9 b.10

c.15

d.20

答案:b.

隨便選擇乙個數為基數,再選擇乙個數和它比較就是1次,選擇第三個數最多比較2次就可以確定它的位置,選擇第四個數最多比較3次也就能夠確定它的位置,最後乙個數最多 比較4次同樣可以確定它的位置了。1+2+3+4=10.

no.4

線性表的鏈結實現有利於()運算

a.插入

b.讀表元素

c.查詢

d.定位

答案:a.

鍊錶易於插入/刪除,順序表易於定址。

每日一道演算法題

no.1 設指標變數fron t表示鏈式佇列的隊頭指標,指標變數rear表示鏈式佇列的隊尾指標,指標變數s指向將要入佇列的結點x,則入佇列的操作序列為 a.front next s front s b.s next rear rear s crear next s rear s d.s next f...

每日一道演算法題 TwoSum

167.給定乙個已按照公升序排列 的有序陣列,找到兩個數使得它們相加之和等於目標數。函式應該返回這兩個下標值 index1 和 index2,其中 index1 必須小於 index2。說明 返回的下標值 index1 和 index2 不是從零開始的。你可以假設每個輸入只對應唯一的答案,而且你不可...

每日一道演算法題 奇偶排序

題目 在乙個n個整數陣列裡面,有多個奇數和偶數,設計乙個演算法,令所有的奇數都在偶數左邊。解題思路 想到的第乙個思路是定義兩個指標,第乙個指標p指向陣列的第乙個元素,第二個指標q指向陣列的最後乙個元素,然後讓p向後遍歷,讓q向前遍歷,直到p找到第乙個偶數,q找到第乙個奇數,交換兩個元素,繼續讓兩個指...