陣列 二分查詢

2021-07-27 09:02:14 字數 1444 閱讀 7750

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,你的演算法是否會出...