binary java
- IT科技
- 關注:1.05W次
<link rel="stylesheet" href="https://js.how234.com/third-party/SyntaxHighlighter/shCoreDefault.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><script type="text/javascript"> SyntaxHighlighter.all(); </script>
java binary是什麼,讓我們一起了解一下?
binary是以2為基數代表系統的二進位制,這一系統中,通常用兩個不同的符號0(代表零)和1(代表一)來表示,現代的計算機和依賴計算機的設備裏都使用二進制,每個數字稱為一個比特(Bit,Binary digit的縮寫)。
實際應用中,比如binary search(二分查找)和bubblesort(冒泡排序)一樣,binary search是在一個有序排列的數組中查找指定數據的下標並輸出,普通的查找方法通過遍歷數組,找出對應數據。
但是針對數組長度較長或者非常長的情況下,這個從頭遍歷查找的方法效率就顯得十分低下,這時候二分查找的優勢就顯現出來了。
二分查找,意味着從中間開始進行比較,因為數組是有序排列的(一般從小到大);所以就可以從數組的中間比較。
下面通過代碼實現:
class BinarySearch{public static void main(String[] args){//創建一個有序數組int[] arr1={1,2,3,4,5,6,7};//調用binarySearch方法,傳入參數 arr1,6binarySearch(arr1,6); } static void binarySearch(int[] arr,int a){ //定義數組的起點下標和終點下標 int min=0,max=arr.length-1; /** *定義數組的中間數據的下標,接收的類型為int *所以當數據長度為偶數時不影響實際循環 */ int centre=(min+max)/2; //使用while循環,不知道具體的循環次數所以for循環不適用 while(min<=max){ //第一種,在中間的數字就是需要查找的數,直接跳出循環if(arr[centre]==a){ System.out.println(centre); break; //當中間的數大於查找數,將中間數據的下標減1 賦給 最大下標 }if(arr[centre]>a){ max=centre-1; //當中間的數小於查找數,將中間數據的下標加1 賦給 最小下標 }else{ min=centre+1; } //完成新的賦值之後,再將完成新的賦值的下標的平均值賦值給中間下標 centre=(min+max)/2; } }}
- 文章版權屬於文章作者所有,轉載請註明 https://shqsg.com/zh-hk/dianzi/1e04g6.html