package a_array.a_twopointssearch;
/*** 二分查詢,增刪。 優點:查詢速度比無序陣列快 缺點:刪除慢,因為資料項必須向前移動來填補已刪除資料項的洞 增加慢,需要移動大於增加數所對用索引後面的所有值
* * @author administrator**/
/*** @author administrator
* */
public class ordarray
/*** 返回大小
*/public int size()
/*** 根據值查詢是否存在於陣列
* * @param searchkey
* @return
*/public int find(long searchkey) else if (lowerbound > upperbound) else else
}// end else divide range
}// end while
}// end find
/*** 插入資料
* * @param i
*/public void insert(int i)
}for (int k = aelemes; k > index; k--)
a[index] = i;
aelemes++;
}/**
* 刪除資料
*/public boolean delete(long value) else
aelemes--;
return true;}}
/*** displays array contents 顯示數陣列內容
*/public void display()
system.out.println();
}/**
* 返回最大關鍵字
* * @return
*/public long getmex()
/*** 刪除最大關鍵字
* * @return
*/public long removemax()
/*** 更改排序方式
*/public void reverseorder()
}}package a_array.a_twopointssearch;
/*** twopointsearch
* * @author administrator**/
public static void main(string args) else
system.out.println("找到" + searchkey);
thearr.display();
thearr.delete(89);
thearr.display();
thearr.reverseorder();
thearr.display();}}
陣列 二分查詢演算法
二分查詢演算法 二分查詢演算法也稱為折半查詢法,它的思想是每次都與序列的中間元素比較。二分查詢的乙個前提條件是陣列是有序的,假設陣列array為遞增序列,finddata為要查詢的數,n為陣列長度,首先將n個元素分成個數大致相同的兩半,取array n 2 與將要查詢的值finddata進行比較,如...
陣列 二分查詢法
二分查詢法又稱折半查詢,優點是比較查詢次數少,查詢速度快,平均效能好 其缺點是要求待查表為有序表,且插入刪除困難。需求 定義乙個函式接收乙個陣列物件和乙個查詢的目標物件,函式要返回該物件的索引。不存在則返回 1 author final public class day1 int index sea...
陣列 二分查詢 簡單
描述 給定乙個排序的整數陣列 公升序 和乙個要查詢的整數target,用o logn 的時間查詢到target第一次出現的下標 從0開始 如果target不存在於陣列中,返回 1。在陣列 1,2,3,3,4,5,10 中二分查詢3,返回2。挑戰 如果陣列中的整數個數超過了2 32,你的演算法是否會出...