#include
#include
using
namespace std;
intbin_search
(int a,
int n,
int k)
else
if(a[mid]
else
}return0;
}int
main()
int k,ad;
cin>>k;
ad=bin_search
(a,n,k)
; cout
}
注 :
有些**的low初始化為0=1,high初始化為n,mid=(low+high)/2。其實和上述**原理是一致的,最終都會輸出所查詢元素在陣列中的位置,但會造成陣列越界。
我們舉個栗子,假如我們陣列是,我們從中查詢元素1.
根據我們上述**
第一次 low=1 high=2 mid=(1+2)/2=1 (二分查詢向下取整)
key=1<a[mid]即a[1]=3
第二次 low=1 high=0 mid=(1+0)/2=0 ,此時就輸出return 0 了。但實質上,遺漏了a[0]
為什麼low<=high,而不是low我們舉個栗子,假如我們陣列是,我們從中查詢元素1.
根據我們上述**
第一次 low=0 high=1 mid=(0+1+1)/2=1 (二分查詢向下取整)
key=1<a[mid]即a[1]=3
第二次 low=0 high=0 mid=(0)/2=0
key=1=a[mid]即a[0]=1(找到了)
但是如果條件是low 1 在雜湊表中,所謂同義詞就是具有相同雜湊位址的兩個元素。2分 f 我覺得本題應該是錯的 首先應該兩個不同元素,然後是得到同一雜湊位址 2 即使把2個元素雜湊到有100個單元的表中,仍然有可能發生衝突。2分 t 本題主要是考察雜湊 hash 函式是可以改變的,衝突的選擇是根據函式的選取 3 將m個元... 第七章 查詢 一 查詢的基本概念有 1 查詢表 2 關鍵字 3 查詢 4 動態查詢表和靜態查詢表 5 平均查詢長度 二 線性表的查詢 1 順序查詢 1 資料型別定義 typedef keytype int 這個根據具體情況去定義 在這裡定義為int typedef struct elemtype t... 第7章 查詢技術 學習重點 折半查詢的過程及效能分析 二叉排序樹的插入 刪除和查詢操作 平衡二叉樹的調整方法 雜湊表的構造和查詢方法 各種查詢技術的時間效能及對比。學習難點 二叉排序樹的刪除操作 平衡二叉樹的調整方法 閉雜湊表的刪除演算法。7.1 概述 7.11 查詢的基本概念 在查詢問題中,通常將...第七章 查詢
第七章 查詢
第七章 查詢技術