本文阐述了JavaScript数据结构的检索算法和算法。分享给大家参考,如下:
Javascript数据结构和算法-检索算法(顺序搜索、最大值和最小值、自组织查询)
一、顺序搜索法
/* *顺序搜索方法* *顺序搜索方法只需要从列表中的第一个元素开始循环,然后与要搜索的数据逐一进行比较。*如果匹配,搜索结束。*如果列表末尾没有匹配项,则该列表中不存在该数据。* */函数seqSearch(arr,data){ for(var I=0;一、长度;I){ if(arr[I]==data){ return I;} } return-1;}函数dispar(arr){ var str=' ';for(var I=0;一、长度;I){ str=arr[I]' ';if((I 0)(I % 10==0)){ str=' n ';} } console . log(str);} var nums=[];for(var I=0;i 100I){ nums[I]=math . floor(math . random()* 101);} dispar(nums);console.log('输入要搜索的数字: ');var num=Parseint(23);console . log();var index=seqSearch(nums,num);如果数组中存在(index -1) {console.log(num)。数组中“”的索引位置为“index”;}else {console.log(数组中不存在num ');}操作结果:
二、最大最小,自组织查询
/*求最小值* (1)将数组的第一个元素赋给一个变量,并将这个变量作为最小值。* (2)开始遍历数组,依次与第二个元素的当前最小值进行比较。* (3)如果当前元素值小于当前最小值,则将当前元素设置为新的最小值。* (4)移动到下一个元素并重复步骤3。* (5)当程序结束时,最小值存储在该变量中。* */function FindMIn(arr){ var MIn=arr[0];for(var I=1;一、长度;I){ if(arr[I]min){ min=arr[I];} }返回分钟;}/*求最大值*/函数find max(arr){ var max=arr[0];for(var I=1;一、长度;I){ if(arr[I]max){ max=arr[I];} }返回最大值;}/*自组织查询*通过将经常找到的元素放在数据集的开头来最大限度地减少搜索次数。*例如,如果你是一名图书管理员,你每天会被问几遍关于同一本参考书的问题,你会把书放在触手可及的地方。*在多次搜索后,最频繁搜索的元素将从原始位置移动到数据集的起始位置。* */函数seqSearch(arr,data){ for(var I=0;一、长度;I){ if(arr[I]==data I(arr . length * 0.2)){ swap(arr,I,0);返回真;} else if(arr[I]==data){ return true;} }返回false}函数dispar(arr){ var str=' ';for(var I=0;一、长度;I){ str=arr[I]' ';if((I 0)(I % 10==0)){ str=' n ';} } console . log(str);} var nums=[];for(var I=0;i 100I){ nums[I]=math . floor(math . random()* 101);} var MinValue=FindMin(nums);dispar(nums);console.log('最小值为: ' minValue);var MaxValue=FindMax(nums);console.log('最大值为: ' maxValue);运行结果:
感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.jb51.net/code/HtmlJsRun来测试上述代码的运行效果。
更多对JavaScript相关内容感兴趣的读者可以查看本网站专题:《JavaScript数学运算用法总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript数组操作技巧总结》、《JavaScript排序算法总结》、《JavaScript遍历算法与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript错误与调试技巧总结》和0103010
希望本文对JavaScript编程有所帮助。