引言
为了得更好更优越的远行性能与减少操所需要的时间,才廷生出一种,优越的查找算法-----二分查找。
二分查找即一种算法,接受输入有序元素列表和所找元素,若所找无素包含在有序列表中,即返回位置,反之则返回null
例如你在一家网站平台登录,在输入用名时,要在服务器查找相应信息、如果这家网站用户量10万,需在10万中查找,可根据用户名首字母排序,从26字母中间查找开始,相比从头开始,要省去一半的查找量,有一组有序数列包含100个 元素,
二分查找与简单查找
我想查找1~100个数字中任意一个元素数字所在位置,现有两种算法,一种简单查找,一种即二分查找,为了更深入理解二分查找的原理,在此作以
区别
首先:简单查找,
简单查找,便是从头到尾依次,为所查找元素/依次进行查找。
就这样简单查找需要遍历有序列表中每一个无素、如上,便需进行100 次查找操作才有可能找到所需元素位置,假如一个有序列表中含有10万个元素,仅设每次查找操作1毫秒,全部下来也需10万毫秒,甚比几天,显然不太现实。
其次:二分查找,
二分查找便是从中间开始查找,将一个有序数列从中间分成两个区间通过比较找到所查元素所在区间,依次往复便可找到该元素,这样每次将所找区间分为二分之一便提高了效率,缩短查找时间。
Ps:类例于用二分法来解方程求近似解,但有些异同。
在区间[1~100]之内。不论查询哪一数字,仅在7步操作之内便可,相比简单算法舍去了许多不必查找的区间,因此节省大量服务器资源,时