数据结构与算法-第八章 查找

来源:互联网 发布:淘宝设置橱窗推荐 编辑:程序博客网 时间:2024/05/16 14:56

1.顺序查找 O(n)

没有排序的数据,只能顺序查找,速度比较慢。

//顺序查找  未排序的数据public int sequenceFind(int []arr,int x){if (arr.length<=0) {return -1;}for (int i = 0; i < arr.length; i++) {if (x==arr[i]) {return i;//找到之后直接返回,不再继续循环}}return -1; //未找到后返回, 未找到时也有 i==n}


2.折半查找(二分查找)O(logn)

已经排序的数据,有序表顺序存储。

//折半查找public int BinarySearch(int arr[],int n){int mid=0,low=0,high=arr.length-1;while(low<=high){mid=(low+high)/2;if (arr[mid]>n) {high=mid-1;}else if (arr[mid]<n) {low=mid+1;} else {//正好相等return mid;//找到值的下标}}return -1;//返回-1表示没有找到这个数(不存在)}


0 0
原创粉丝点击