首页 > 代码库 > 查找算法
查找算法
线性查找(Linear Search):
时间复杂度:O(n)
int linerSearch(int * array, int n, int x) { for (int i = 0; i < n; i++) { if (array[i] == x) return i; } return -1; }
二分查找(Binary Search):
/* recursive version */ int binarySearch(int *array, int l, int r, int x) { if (l <= r) { int m = (l + r) / 2; if (array[m] == x) return m; else if (array[m] > x) return binarySearch(array, l, m - 1, x); else return binarySearch(array, m + 1, r, x); } return -1; } /* iteration version */ int binarySearch(int *array, int l, int r, int x) { int m; while (l <= r) { m = (l + r) / 2; if (array[m] == x) return m; else if (array[m] > x) r = m - 1; else l = m + 1; } return -1; }
查找算法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。