日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

二分法查找和普通查找

發(fā)布時間:2023/12/13 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 二分法查找和普通查找 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、普通查找

? 對于數(shù)組和一個需要查找的元素來說,普通查找的原理很簡單,即為從數(shù)組的第一個元素到最后一個元素進行遍歷,如果第i個元素的值等于我們需要查找的值,那么返回找到的角標(biāo)i,否則返回-1表示沒有查找到。這里以java為例,普通查找代碼如下:

1 package Daily_practice; 2 3 public class Array_Search { 4 5 public static void main(String[] args) { 6 int[] arr1 = {33,19,15,28,106,45,78,13}; 7 //普通查找 8 int index1 = getIndex(arr1,28); 9 System.out.println(index1); 10 } 11 //普通查找,返回值所在的角標(biāo),不存在返回-1 12 public static int getIndex(int[] arr,int value) 13 //value為需要查找的值 14 { 15 for(int i=0;i<arr.length;i++) 16 { 17 if(arr[i] == value) 18 return i; 19 } 20 return -1; 21 } 22 }

二、二分法查找

? 二分法是從中間元素開始查找,假設(shè)整型數(shù)組為arr,要查找的元素為value,數(shù)組中間元素為arr[mid],若value小于arr[mid],則在左半邊繼續(xù)查找;若value大于arr[mid],則在右半邊繼續(xù)查找,如此循環(huán),知道value等于arr[mid],返回的角標(biāo)mid即為要找的元素的位置。java代碼如下:

1 package Daily_practice; 2 3 public class Array_Search1 { 4 5 public static void main(String[] args) { 6 int[] arr2 = {13,15,19,28,33,45,78,106}; 7 //二分法查找 8 int index2 = halfSearch(arr2,28); 9 System.out.println(index2); 10 } 11 12 //二分法查找 13 public static int halfSearch(int[] arr,int value) 14 { 15 int min,mid,max; 16 min = 0; 17 max = arr.length-1; 18 mid = (min+max)/2; 19 while(arr[mid] != value) 20 { 21 if(value > arr[mid]) 22 min = mid + 1; 23 else 24 max = mid - 1; 25 if(max < min) 26 return -1; 27 mid = (min+max)/2; 28 } 29 return mid; 30 } 31 32 }

三、二分法查找和普通查找的優(yōu)缺點分析

???普通查找

? 優(yōu)點:1)原理簡單,代碼容易實現(xiàn)

? ? ? ? 2)不需要數(shù)組有序

? 缺點:1)當(dāng)元素個數(shù)很多時,效率較低

?

? ?二分法查找

? 優(yōu)點:1)效率比普通查找高

? 缺點:1)要求數(shù)組必須是有序排列

四、總結(jié)

? 兩種方法各有優(yōu)點和局限,至于具體用哪一種請讀者根據(jù)實際情況而定,文中若有不恰當(dāng)之處請批評指正!

轉(zhuǎn)載于:https://www.cnblogs.com/yaoHongBo/p/7456630.html

總結(jié)

以上是生活随笔為你收集整理的二分法查找和普通查找的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。