VB 對分法是怎樣的?VB對分查詢

2025-03-26 13:40:08 字數 3239 閱讀 7535

1樓:網友

查詢是在資料序列中查詢關鍵字等於給定值的資料元素。找到則稱查詢成功,否則稱查詢失敗。

對分查詢又稱為折半查詢、二分查詢。的演算法:將給定值與有序巨集薯順序表頌敬(即已經按關鍵字的大小排好序的資料序列)的中間位置元素的關蔽櫻者鍵字比較,相等則查詢成功,不等則根據比較結果在表的前半部分或後半部分按相同方法繼續查詢,直到查詢成功或確定查詢失敗。

對分查詢的優點:查詢效率高(最大比較次數=log2 n);缺點:只能用於有序順序表。

vb實現:設:①有已經由小到大排好序的含n個資料的資料序列 d(1),d(2)……d(n),現在要確定資料 df 是否包含在序列中及其位置(如果包含的話);②x為當前查詢區域的首資料位置,y為當前查詢區域的尾資料位置,k為當前查詢區域的中間資料位置(當前查詢區域的折半位置),j為dx在序列中的位置(0表示不在序列中)

j = 0: x = 1: y = n

do while x <=y: k = x + y) /2

if df = d(k) then j = k: exit do else if df > d(k) then x = k + 1 else y = k - 1

loop

2樓:前妙旋

這也是我想知道的。

vb對分查詢

3樓:網友

對分查詢,過程如下:

一,首先初始化,確定查詢範圍:1 --5設查詢的範圍起始下標為s,終止下標為e,則:s = 1,e = 5。

二,重複以下迴圈,兩個步驟。

1,求中點陣列下標:m = int((s + e)/2)2,判斷中點元素與要找的數是否相等:d[m] = key? (這裡假設陣列為d,要找的數為key)

若d[m] = key 則找到了;

否則就沒找到;需要根據判斷 d[m]key?作為條件判斷)。

這裡d[m] e (起始下標超過終止下標了),結論key是找不到了;

否則,繼續執行1,進行下一次查詢。

現在看你的問題:

要找10,第1次中點是3,即:10>d[3],從而得到第2次的查詢範圍為,4-5

第2次中點是4,即:10=d[4],從而得到第2次就找到的結論。

招投標法中對標段的劃分是怎樣規定的

4樓:匿名使用者

標段劃分是決定招標結果的重要因素。合法合理的標段劃分是實現招標結果質優價廉的有效方法,錯誤失當的標段劃分必然會對專案實施造成不利影響,而乙個違法違規的標段劃分則會給招標專案和招標人帶來災難性、顛覆性的後果。

通過訪問法律諮詢吧可以去請教問問律師等法律人士可以進一步的去了解的 更詳細一些。

對於標段應當如何劃分,《招標投標法》第十九條規定,招標專案需要劃分標段、確定工期的,招標人應當合理劃分標段、確定工期,並在招標檔案中載明;《招標投標法實施條例》第二十四條規定,招標人對招標專案劃分標段的,應當遵守《招標投標法》的有關規定,不得利用劃分標段限制或者排斥潛在投標人。依法必須進 行招標的專案的招標人不得利用劃分標段規避招標。上述規定可以總結為「兩個應當、兩個不得」,即劃分標段應當合理、劃分標段應當在招標檔案中載明、不得利用劃分標段限制或者排斥潛在投標人、依法必須進行招標的專案的招標人不得利用劃分標段規避招標。

vb中怎樣分別用選擇法和冒泡法分別對100個隨機數進行遞增排序???

5樓:匿名使用者

private sub command1_click()

dim a(1 to 100) as integer

for i = 1 to 100

randomize

a(i) = int(rnd * 900 + 100) '產生100至999之間的整數。

next i

for i = 1 to 99

dim t as integer

t = ifor j = i + 1 to 100

if a(t) >a(j) then t = j '找出最小數的下標。

next j

b = a(i): a(i) = a(t): a(t) = b '交換兩數的值。

next i

for i = 1 to 100 '輸出排序後陣列。

print a(i);

if i mod 10 = 0 then print '如果一行輸出達十個,換行輸出。

next i

end sub

求vb對分查詢的演算法

6樓:我個去又被註冊

對分查詢的定義是這樣的——對分查詢首先將查詢鍵與有序陣列內處於中間位置的元素進行比較,如果中間位置上的元素內的數值與查詢鍵不同,根據陣列元素的有序性,就可確定應該在陣列的前半部分還是後半部分繼續進行查詢;在新確定的範圍內,繼續按上述方法進行查詢,直到獲得最終結果。

因此 1 2 3 4 5 要查詢 4,那麼先比較中間位置的元素 即 3,發現4 > 3,因此,應該在陣列後半部分找 即 4 5 中找,此時只有2個元素,那麼中間位置你可以看成是 4 也可以看成 是 5,這個得看你演算法怎麼設計(即遇到偶數項的時候,把中間位置定義在前一項還是後一項)。所以最少次數就是,當你把4 當作檢查次數的時候——總次數為2次;如果把5當作中間項,那就是3次了。

同理,在a,b,c,d,e,f,g中找f,先比較中間位置的元素——d ,發現 f的ascii的值比 d 大,所以在後半部分找 即 e,f,g ,此時是三個元素,再次比較中間位置的元素 恰好是f ,於是找到了。 查詢次數 為 2 次。

vb二級簡單應用題怎麼給分

7樓:網友

看批卷子人了,想怎麼給就怎麼給,人家說了算,別人不批卷子怎麼會知道?

8樓:

是按重要步驟給分,看情況會給一兩分的。

vb中屬性和方法的區別是什麼

9樓:網友

屬性是控制項的長寬位置等,方法是控制項的動作,其實程式設計的時候不需要區分它們。

vb中,設定或者修改乙個物件的屬性方法有兩種,他們分別是什麼?

10樓:匿名使用者

vb中設定或修改乙個物件的屬性的方法是什麼。

1。可在屬性中設定或修改。

2。可在**中設定或修改 如: = " 提示 "

11樓:網友

在設計時修改它的屬性,還乙個在執行時利用**改變。

女人如何面對分,成熟的女孩子怎樣面對分手?

都分手了還要說如何面對?如何面對都要面對,好好生活過好自己的日子就這樣面對。女生如何面對分?我做好最壞的打算,然後在分手了這段期間,可以忘掉煩惱,做自己喜歡做的事情最好。快點找到自己的另一半,忘記這些痛苦。成熟的女孩子怎樣面對分手?成熟的女孩要面對分手的話,要應該看的直觀一點。因為如果對方執意分手,...

VB查詢含關鍵字的檔案100)

提供一個思路 先查詢c盤下的所有txt 找到後進去遍歷所有檔案找 ww 如果不用vb,用批處理更快。dir s c txt 1.txt b 把所有的文字檔案都輸出到1.txt內。在用for find 命令遍歷1.txt檔案內所有的檔案。具體的自己想下 只能自己寫程式了。原來不難,就是把所有txt檔案...

vb中怎樣同時顯示tetbo的水平和垂直滾動條

vb文字框同時顯示水平和垂直滾動條步驟 設定textbox控制元件的multiline 屬性為true。設定textbox控制元件的scrollbars 屬性為vbboth。scrollbars 屬性,返回或設定一個值,該值指示一個物件是有水平滾動條還是有垂直滾動條。在執行時是隻讀的。說明對於 sc...