memcached查找算法
- 作者: 萝莉也狠美
- 来源: 51数据库
- 2020-10-12
恩你是要问什么?
顺序查找就是按顺序查找,复杂度O(n)
二分查找的前提是数据是有序的 一次复杂度O(logn)
例如在数组 A: 1 3 5 7 8 10 12 中
如果要找 10
我们先看中间的数是 7, 10比7大,那么继续在右侧二分寻找,这是一个递归的过程.
伪代码:
bool find(int L,int R,int What_You_Want) {
if (L > R) return false;
int mid = (L + R) / 2
if (A[mid] == What_You_Want) return true;
else if (A[mid] > What_You_Want) return find(L,mid - 1,What_You_Want);
else return find(mid + 1, R, What_You_Want);
}
二叉搜索树的原理与二分查找相同
是程序的灵魂,数据结构是计算机存储、组织数据的方式,整形用二进制储存,字符串用一字节等;算法是一种程序开发流程思想,要锻炼好呀!
顺序查找就是按顺序查找,复杂度O(n)
二分查找的前提是数据是有序的 一次复杂度O(logn)
例如在数组 A: 1 3 5 7 8 10 12 中
如果要找 10
我们先看中间的数是 7, 10比7大,那么继续在右侧二分寻找,这是一个递归的过程.
伪代码:
bool find(int L,int R,int What_You_Want) {
if (L > R) return false;
int mid = (L + R) / 2
if (A[mid] == What_You_Want) return true;
else if (A[mid] > What_You_Want) return find(L,mid - 1,What_You_Want);
else return find(mid + 1, R, What_You_Want);
}
二叉搜索树的原理与二分查找相同
是程序的灵魂,数据结构是计算机存储、组织数据的方式,整形用二进制储存,字符串用一字节等;算法是一种程序开发流程思想,要锻炼好呀!
推荐阅读
