4 折半查詢 10分 太簡單

2021-09-05 10:34:45 字數 1425 閱讀 4889

成績

10開啟時間

2023年11月20日 星期二 18:00

折扣0.8

折扣時間

2023年12月10日 星期一 23:55

允許遲交

否關閉時間

2023年12月20日 星期四 23:55

折半查詢的查詢過程:先確定待查記錄所在的範圍(區間),然後逐步縮小範圍直到找到或找不到該記錄為止。

每條待查記錄包含關鍵字項和其他項,如關鍵字項為15,其他項為該記錄在查詢表裡的原序號4。

對無序表的查詢,還需要事先排列成有序表,再進行折半查詢。

輸入:5 (記錄的條數)

各記錄項:如 32 1

輸出:已按關鍵字排列好的非遞減序列:如 (16 2)(20 5)(32 1)(35 3)(91 4)

找不到時輸出: error

測試輸入

期待的輸出

時間限制

記憶體限制

額外程序

測試用例 1

以文字方式顯示

11↵5 1↵

13 2↵

19 3↵

21 4↵

37 5↵

56 6↵

64 7↵

75 8↵

80 9↵

88 10↵

92 11↵

56↵以文字方式顯示

(5 1)(13 2)(19 3)(21 4)(37 5)(56 6)(64 7)(75 8)(80 9)(88 10)(92 11)↵

(56 6)↵

1秒64m

0測試用例 3

以文字方式顯示

10↵5 3↵

20 4↵

100 5↵

75 6↵

63 7↵

19 8↵

18 9↵

23 10↵

32 11↵

35 12↵

36↵以文字方式顯示

(5 3)(18 9)(19 8)(20 4)(23 10)(32 11)(35 12)(63 7)(75 6)(100 5)↵

error↵

1秒64m

#include #include typedef struct nodenode;

int bubblesort(node *list, int n)

}return 1;

}void print(struct node *list,int n)

printf("(%d %d)\n",list[n].x,list[n].y);

}int search(node *list, int n)

else if(list[0].x < list[mid].x)

else

}return 0;

}int main()

二分 折半 查詢

折半查詢 又叫二分查詢,採用分治思想,適用於不經常變動且查詢頻繁的表 演算法思想 將n個元素 假設n個元素公升序 分為大致相同的兩部分,取data n 2 與目標元素m比較 若data n 2 m return n 2 若data n 2 m 則我們只要在data的左半部分繼續查詢 若data n ...

6 13 折半查詢 15 分

include using namespace std define maxsize 50 typedef int keytype typedef struct elemtype typedef struct sstable void create sstable t 方法1,int search ...

二分 折半 查詢

二分查詢 請對乙個有序陣列進行二分查詢 輸入乙個數看看該陣列是否存在此數,並且求出下 標,如果沒有就提示 沒有這個數 二分查詢演算法的思路 二分 折半 查詢條件 有序陣列。public class binarysearch 不考慮有重複元素的查詢。int index solutionsearch a...