javascript实现二分查找法实现代码


Posted in Javascript onNovember 12, 2007

一般二分都用到int[]型上.....在js中可能会更灵活的用到a-z上,或者用到拼音...或者用到......

不过值得深思的一个问题是,如果为了实现对拼音之类的二分查找.而经过如下流程是否值得:

1。对拼音排序,貌似代码量不小吧。

2。然后再二分查找。这又需要识别拼音的大小,貌似也不算太小吧。

找到结果的速度快了,可是别人下你的js文件速度慢多了,呵呵,到底舍弃谁。

下面的代码甚至可以10亿条,一样会很快找到,可是用遍例的模式创建那个数组。。。所以还是别尝试了。只是给个思路,下次我再来发个js的八皇后问题解决方案,呵呵算法很奇妙哦

var array = [];  
var key = 482;  
var number = 1000;  for(i=0;i<number;i++){  
 array.push(i);  
}  
//-->>  
var time = new Date();  
var a;  
var left = 0;  
var right= array.length;  
while(left<=right){  
 var center=Math.floor((left+right)/2);  
 if(array[center] == key) a = center;  
 if(key < array[center]){  
  right = center - 1;   
 }else{  
  left = center + 1;  
 }  
}  
alert("二分查找法搜索的结果:"+a);  
alert((new Date() - time)/1000); 
Javascript 相关文章推荐
javascript event 事件解析
Jan 31 Javascript
js constructor的实际作用分析
Nov 15 Javascript
jquery实现加载等待效果示例
Sep 25 Javascript
Javascript玩转继承(一)
May 08 Javascript
Javascript 读取操作Sql中的Xml字段
Oct 09 Javascript
文件上传插件SWFUpload的使用指南
Nov 29 Javascript
jQuery和CSS仿京东仿淘宝列表导航菜单
Jan 04 Javascript
前端构建工具之gulp的语法教程
Jun 12 Javascript
jsonp跨域获取数据的基础教程
Jul 01 Javascript
Vue.js 图标选择组件实践详解
Dec 03 Javascript
js实现简单扫雷
Nov 27 Javascript
详解Vue3 Teleport 的实践及原理
Dec 02 Vue.js
Auntion-TableSort国人写的一个javascript表格排序的东西
Nov 12 #Javascript
用js实现手把手教你月入万刀(转贴)
Nov 07 #Javascript
不能再简单的无闪刷新验证码原理很简单
Nov 05 #Javascript
才发现的超链接js导致网页中GIF动画停止的解决方法
Nov 02 #Javascript
推荐自用 Javascript 缩图函数 (onDOMLoaded)……
Oct 23 #Javascript
非常漂亮的JS代码经典广告
Oct 21 #Javascript
国外Lightbox v2.03.3 最新版 下载
Oct 17 #Javascript
You might like
PHP 中执行系统外部命令
2006/10/09 PHP
PHP HTML代码串 截取实现代码
2009/06/29 PHP
PHP 读取文件内容代码(txt,js等)
2009/12/06 PHP
php学习笔记 php中面向对象三大特性之一[封装性]的应用
2011/06/13 PHP
PHP读取xml方法介绍
2013/01/12 PHP
Zend Framework基于Command命令行建立ZF项目的方法
2017/02/18 PHP
通过php动态传数据到highcharts
2017/04/05 PHP
PHP笛卡尔积实现算法示例
2018/07/30 PHP
通过javascript的匿名函数来分析几段简单有趣的代码
2010/06/29 Javascript
JS判断数组中是否有重复值得三种实用方法
2013/08/16 Javascript
javascript模拟实现ajax加载框实例
2014/10/15 Javascript
Js实现网页键盘控制翻页的方法
2014/10/30 Javascript
javascript实现拖动元素交换位置
2015/11/29 Javascript
对象题目的一个坑 理解Javascript对象
2015/12/22 Javascript
浅谈javascript:两种注释,声明变量,定义函数
2016/10/05 Javascript
ES6中Array.find()和findIndex()函数的用法详解
2017/09/16 Javascript
基于nodejs res.end和res.send的区别
2018/05/14 NodeJs
详解Vue+axios+Node+express实现文件上传(用户头像上传)
2018/08/10 Javascript
Node.js如何对SQLite的async/await封装详解
2019/02/14 Javascript
Vue实现简单的留言板
2020/10/23 Javascript
[06:13]DOTA2进化论(修改版)
2013/10/08 DOTA
[31:29]完美世界DOTA2联赛PWL S3 INK ICE vs Magma 第一场 12.20
2020/12/23 DOTA
Python基于twisted实现简单的web服务器
2014/09/29 Python
Python素数检测实例分析
2015/06/15 Python
Python函数的周期性执行实现方法
2016/08/13 Python
Django vue前后端分离整合过程解析
2020/11/20 Python
Python字符串的15个基本操作(小结)
2021/02/03 Python
欧舒丹英国官网:购买欧舒丹护手霜等明星产品
2017/01/17 全球购物
意大利在线药房:Saninforma
2021/02/11 全球购物
宿舍卫生检讨书
2014/01/16 职场文书
办公用品管理制度
2015/08/04 职场文书
自愿离婚协议书范本2016
2016/03/18 职场文书
开网店计划分析
2019/07/30 职场文书
java设计模式--七大原则详解
2021/07/21 Java/Android
Oracle表空间与权限的深入讲解
2021/11/17 Oracle
十大必看国产动漫排名,魁拔上线,第二曾在日本播出
2022/03/18 国漫